Copyright F.L. Lewis 1999

All rights reserved

EE 4343/5329 - Control System Design Project

LECTURE 12

Updated: Monday, April 09, 2001

DESIGN OF FEEDBACK CONTROL SYSTEMS

There are many sorts of feedback control systems, as shown in the figure. There are many sorts of control design techniques, including classical frequency domain techniques and state-variable (SV) matrix techniques. The actuator dynamics must usually be considered when designing controllers for industrial and aerospace systems.


Classical design techniques rely on graphical methods and impart a great deal of insight on system structure and robustness. They often require trial-and-error one-loop-at-a-time design, particularly for complex systems with nonminimum-phase zeros. State-variable (SV) techniques rely on solution of matrix equations. They are powerful and direct to apply and guarantee stability for any linear system that is reachable. Basic SV methods such as pole placement do not give much insight on structure or robustness.

The next figure shows a practical control system. Note that it has more blocks than we consider for basic design, including sensors, signal conditioners and transmitters, actuators, and so on. These are required for actual implementation of the controller. Sometimes it is necessary to include the dynamics of these extra components when the controller is designed.


HELICOPTER DESIGN EXAMPLE

In this example we will illustrate the problems associated with controller design for a system with nonminimum-phase zeros. We will do a root locus, a pole placement, and an LQR design. The helicopter dynamics are taken from Franklin, Powell, and Emami-Naeini [1991]. This example was handled rather well in Shahian and Hassul [1993].

Dynamics and Open-Loop Analysis

Helicopters have dynamics that are difficult to stabilize due to nonminimum-phase behavior. The state model

of the longitudinal motion of a helicopter is given by

where q= pitch rate, = pitch angle, u= horizontal velocity, and = rotor tilt angle. It is assumed that measurements of velocity are taken.

The poles are given by

damp(a)

Eigenvalue Damping Freq. (rad/s)

1.18e-001 + 3.68e-001i -3.06e-001 3.86e-001

1.18e-001 - 3.68e-001i -3.06e-001 3.86e-001

-6.57e-001 1.00e+000 6.57e-001

The transfer function is given by

[num,den]=ss2tf(a,b,c,d)

num =

0 9.8000 -4.9000 61.7400

den =

1.0000 0.4200 -0.0060 0.0980

» printsys(num,den)

num/den =

9.8 s^2 - 4.9 s + 61.74

------

s^3 + 0.42 s^2 - 0.006 s + 0.098

The zeros are given by

roots(num)

ans =

0.2500 + 2.4975i

0.2500 - 2.4975i

» damp(num)

Eigenvalue Damping Freq. (rad/s)

2.50e-001 + 2.50e+000i -9.96e-002 2.51e+000

2.50e-001 - 2.50e+000i -9.96e-002 2.51e+000

Note that there are two right-half plane zeros.

Root Locus for P Feedback


Straight Proportional feedback cannot stabilize this system, but an initial root locus using only P feedback often aids in getting a feel for the structure of the system. Therefore, in the figure let us select the compensator K(s)=k.

Then, the closed-loop transfer function is

and one performs a root locus simply using G(s)=H(s). As found above

.

The root locus is shown.

Note that the RHP zeros mean that the system cannot be stabilized using P feedback since the zeros attract the RL for high values of the gain k.


Root Locus with Compensators

It is necessary to design a compensator for this NMP system. The control structure to be used is shown. There is a feedback compensator K2(s) and a feedforward compensator K1(s).


Helicopter Longitudinal Control System

First cancel the pole at -0.65 by selecting

.

The pole was added for realizability (i.e. filtered derivative), and is put far to the left so as not to influence the RL for low frequencies.

Now select

which adds a zero to pull the poles to the left plus a filtering pole.

The closed-loop transfer function is

.

The root locus is shown.


This was found using

k=[0 : 0.1 : 100]

rlocus(num,den,k)

since rlocus with no k argument did not produce a good plot.

The RL shows that the system is stable for a range of k. For high gain k the poles approach the NMP zeros.

Pole Placement Ackermann Design

Now we will use SV techniques to design a feedback to place the closed-loop poles. We will use the state-variable feedback (SVFB)

u= -Kx.

Ackermann's formula is

where the reachability matrix is

and the desired closed-loop polynomial is .

The reachability matrix is

» u= [b a*b a^2*b]

u =

6.3000 -2.6180 1.1374

0 6.3000 -2.6180

9.8000 -9.0160 65.5855

which has nonzero determinant

» det(u)

ans =

2.4513e+003

so the system is reachable and the poles can be placed wherever desired.

For good POV and settling, the desired closed-loop poles are selected as

.

This gives a SVFB gain of

» pd=[-2, -1+j, -1-j];

» k=place(a,b,pd)

place: ndigits= 15

k =

0.4706 1.0000 0.0627

The closed-loop A matrix is given by

» ac=a-b*k

ac =

-3.3651 -6.3003 -0.4053

1.0000 0 0

-6.0123 -0.0004 -0.6349

and a check reveals the closed-loop poles at

» eig(ac)

ans =

-2.0000

-1.0000 + 1.0000i

-1.0000 - 1.0000i

exactly as desired.

It is interesting to perform a root locus on the system compensated by the computed SVFB. Note that

and we can define a new output w(t) so that

as shown in the figure.


The closed-loop system is then as shown, where we have added an adjustable scalar gain so that

.


Now one has the closed-loop transfer function

where is the transfer function one uses for the root locus vs. k. The RL is shown.


This RL was made using

» [ncl,dcl]=ss2tf(a,b,k,d)

ncl =

0 3.5800 6.0060 3.9020

dcl =

1.0000 0.4200 -0.0060 0.0980

» rlocus(ncl,dcl)

Alternatively, one can plot the RL directly from the state matrices using

rlocus(a,b,k,d)

It is very interesting to note what is going on here. The SVFB matrix functions as the output matrix of a SV system. In effect the SVFB redefines the system output to be w= Kx. The zeros of this new system are not the same as the original bad NMP zeros. The new zeros are at

» roots(ncl)

ans =

-0.8388 + 0.6215i

-0.8388 - 0.6215i

as shown in the SVFB root locus. These stable zeros pull the RL into the left-half plane. In fact, at a value of k=1, the RL passes right through the desired closed-loop poles!

The SVFB gain is implemented using multiplies and an add according to

.

1