State-Variable Feedback (SVFB)

© Copyright F.L. Lewis 1998
All rights reserved
EE 4343/5329 - Control System Design Project
LECTURE 5
EE 4343/5329 Homepage
EE 4343/5329 Course Outline
BASIC FEEDBACK DESIGN TECHNIQUES
Feedback control design techniques include state-variable feedback, output-feedback,
root locus, Bode design, Nyquist design, etc. A few basic design techniques for feedback
control systems are discussed here.
MATLAB is used for analysis and design. Many of the routines needed are in the
MATLAB Control Systems Toolbox. A tutorial on MATLAB is available on the www at
www.mathworks.com
State-Variable Feedback (SVFB)
The linear state-space equations are given by
x  Ax  Bu
y  Cx  Du
with x(t )  R n the internal state, u(t )  R m the control input, and y(t )  R p the
measured output. Matrix A is the system or plant matrix, B is the control input matrix, C
is the output or measurement matrix, and D is the direct feed matrix. The open-loop
poles are given by the roots of
(s)  sI  A
and the open-loop transfer function is given by
H ( s)  C ( sI  A) 1 B  D .
Feedback controllers may be designed using either the state description (A,B,C,D) or the
input-output description H(s).
A simple feedback control scheme is to use the outputs to compute the control
inputs according to the Proportional (P) feedback law
u   Ky  v
1
where v(t) is the new external control input. With K the p  m proportional feedback
gain matrix. Note that K has pm entries so that there are pm control loops. This sort of
P feedback is sufficient to give the desired closed-loop stability and performance for
many systems. This scheme is known as OUTPUT FEEDBACK (OPFB). A more basic
control scheme is to assume that ALL the states are measured as outputs, so that one may
use the STATE-VARIABLE FEEDBACK (SVFB) control law
u  Kx  v .
Feedback matrix K is p  n so that there are now pn control loops. Note that SVFB is the
same as OPFB with C= I the identity matrix.
Assuming SVFB, the closed-loop system is given as
x  ( A  BK ) x  Bv  Ac x  Bv
y  (C  DK ) x  Dv  Cc  Dv
where Ac is the CLOSED-LOOP SYSTEM OR PLANT MATRIX and Cc is the closedloop output matrix. The closed-loop poles are given by the roots of
 c (s)  sI  Ac  sI  ( A  BK )
and the closed-loop transfer function is given by
H ( s )  Cc ( sI  Ac ) 1 B  D  (C  DK )[ sI  ( A  BK )] 1 B  D .
Reachability
A system is said to be REACHABLE (sometimes called CONTROLLABLE) if
the control input u(t) can be selected to drive the state x(t) from any given initial
condition to any desired final value. This can be done if the input coupling in the system
is sufficiently strong, which depends on the input-coupling matrix pair (A,B). If a system
is not reachable, it can be made so by adding additional control inputs.
There is an easy test for reachability. Indeed, define the REACHABILITY
MATRIX
U  B AB A2 B  An1 B .
Then, (A,B) is reachable iff U has full rank n. Note that U is an n nm matrix so that it
has more columns than rows if m>1. Such a matrix is called a flat matrix. (A matrix
with more rows than columns is called a sharp matrix.)


If there is only one control input (the single-input (SI) case, where m=1), then U
is square. In this case, it is easy to test whether U has rank n by making sure the
determinant U is nonzero. If m>1 one must find n linearly independent columns of U,
which may be difficult particularly if the number of inputs m is large. In this case, define
the REACHABILITY GRAMMIAN
G  UU T
which is a square n n matrix. Then the system is reachable iff G  0 .
2
Many design techniques rely on trying to determine closed-loop properties
from open-loop properties. This is exactly the intent of the reachability test, which
allows one to determine in terms of the open-loop matrices A and B what can be
accomplished in the closed-loop system.
SVFB Pole Placement and Ackermann's Formula
Note that in the case of SVFB the output y(t) plays no role. This means that only
matrices A and B will be important in SVFB. We would like to choose the feedback gain
K so that the closed-loop characteristic polynomial  c (s)  sI  Ac  sI  ( A  BK ) has
prescribed roots. This is called the POLE-PLACEMENT problem. An important
theorem says that the poles may be placed arbitrarily as desired iff (A,B) is reachable.
If the system is reachable, there are many techniques to find a suitable K that
guarantees stability and/or places the poles. One technique that works for the SI case
m=1 is ACKERMANN'S FORMULA
K  enU 1 D ( A) ,
where en  0 0  0 1 is the last row of the n n identity matrix, and  D (s) is the
DESIRED characteristic polynomial. The desired characteristic polynomial evaluated at
the plant matrix A is  D (A) , which is a MATRIX POLYNOMIAL.
Example 1
The angle subsystem of the inverted pendulum is given for some specific values
of parameters by
0 1  0 
x  Ax  Bu  
 x   u
9 0  2
where the state is x    . The open-loop poles are given by the roots of

( s)  sI  A 

s 1
 s 2  9  ( s  3)( s  3) ,
9 s
which are s=-3, s=3. The system is unstable, with natural modes e 3t , e 3t .
The design specifications are to design a SVFB K that will give a closed-loop
POV of 4% with a settling time of s= 1 sec. This will make the rod of the inverted
pendulum balance upright. These specs. allow one to compute the desired closed-loop
poles. In fact, since
 s  5  5 / 
POV  100e  /
1 2
3
one may find the required real-part and damping ratio of the closed loop poles to be
   5 ,   1 / 2  0.707  Thus, the natural frequency is  n   /  = 7.072 so that
the desired characteristic polynomial is
2
 D  s 2  2s   n = s2+10s+50.
To use Ackermann's formula, one first verifies reachability by computing the
reachability matrix
 0  2
U  B AB  

 2 0 
and checking that it is indeed nonsingular. Computing the quantities needed for
Ackermann's formula now yields
 0.5
 0
U 1  
0 
 0.5
9 0  0 10 50 0  59 10 
 D ( A)  A2  10 A  50 I  



.
0 9 90 0   0 50 90 59
Substituting now into Ackermann's formula yields
 0.5 59 10 
 0
K  enU 1 D ( A) = 0 1
  29.5  5 .
0  90 59
 0.5
Note that one may write the P SVFB as
 
k 2     v  k1  k 2  v ,
 
so that in effect a proportional-plus-derivative control is produced, with the proportional
gain given by k1 and the derivative gain by k2.
u   Kx  v   29.5  5x  v  k1
To check the design, one should compute the actual closed-loop poles using
1 
0 1   0 
 0
Ac  A  BK  
   29.5  5  


9 0  2
 50  10
s
1
 s 2  10s  50 .
50 s  10
This is indeed equal to D(s).
 c ( s)  sI  Ac 
Root Locus (RL) Design
A basic feedback control system is the TRACKING CONTROLLER given in the
figure. The plant is H(s) and the compensator K(s); the feedback gain is k. The function
of the tracker is to make the output y(t) follow the command or reference input r(t) by
4
making the tracking error e(t)=r(t)-y(t) small. The disturbance d(t) plays no part here and
is assumed equal to zero.
The closed-loop transfer function is
Y ( s)
kK ( s) H ( s)
.
T ( s) 

R( s) 1  kK ( s) H ( s)
In root locus design one focuses on the denominator
( s )  1  kK ( s ) H ( s )  1  kG( s)
where G(s) is the open-loop gain. Note that we use the same symbol for the denominator
of T(s) as for the state-variable characteristic polynomial (s)  sI  A . However,
1+kG(s) is actually a polynomial fraction, whose numerator is the system characteristic
polynomial.
Many design techniques rely on trying to determine closed-loop properties
from open-loop properties. In root locus design, one uses the all-important open-loop
gain G(s) to estimate the locations of the closed-loop poles, which are the roots of the
numerator of ( s )  1  kG( s ) . The key point of RL design is that it is easier to plot the
locations of the closed-loop poles versus the feedback gain parameter k than it is to find
the actual closed-loop poles themselves. This was extremely important in days before
digital computers when finding roots of high-order polynomials was difficult, and it also
gives great insight into the properties of the closed-loop system.
In this discussion, one must distinguish between the closed-loop poles, which are
the roots of the numerator of (s)= 1+kG(s), which depend on the feedback gain k, and
the (open-loop ) poles and zeros of G(s), which do not depend on k. One also uses the
RELATIVE DEGREE of G(s). The relative degree of a polynomial fraction is the degree
of the denominator minus the degree of the numerator. Since the total number of poles
and zeros is the same, the number of zeros at infinity is equal to the relative degree. We
consider the case when the polynomial fraction is PROPER, that is when the relative
degree is greater than or equal to zero. The fraction is said to be STRICTLY PROPER if
the relative degree is greater than or equal to 1.
Define G(s)= p(s)/q(s) and denote the relative degree of G(s) as m= deg(q)deg(p). Then G(s) has m zeros at infinity.
The RL is a plot in the s-plane of the closed-loop poles as k varies from zero to
infinity. To find the closed-loop poles we are interested in points where
1  kG( s )  0 ,
which can be written in several equivalent forms, including
5
G( s)   1
k
.
q( s)  kp( s)  0
All points in the s-plane that satisfy this equation are closed-loop poles for that value of
k. Thus one notes that on the root locus, G(s) is real and negative.
In undergraduate textbooks it is shown that several basic rules for plotting the root
locus follow directly from these equations. These rules assume a positive gain k. The
rules for negative k can likewise be derived.
Basic Rules for Plotting the Root Locus
1. As k goes from zero to infinity, the closed-loop poles move from the poles of G(s) to
the zeros of G(s).
2. The loci are symmetric with respect to the real axis.
3. The real-axis to the left of an odd number of poles + zeros is on the RL.
4. As k becomes large, m loci approach infinity asymptotically. The asymptotes are at
angles of
 180 o  i360 o 
 ; i  0,1,2,...
 
m


and they meet on the real axis at the centroid given by
( finite poles of G )  ( finite zeros of G )
c
.
m
5. On the RL, G(s) is real and negative so that angle(G(s))= -180o. This is useful for
determining the 'angle of departure' of the RL from a specific open-loop pole of G.
There are other rules, including those for determining breakaway points from the real
axis. However, MATLAB has a very good RL plotting routine which may be used to
determine the RL in more detail than that given by these simple rules.
Example 1
Suppose the plant has transfer function
s5
H (s)  2
s
and one uses the lag compensator
s 8
K ( s) 
.
s 1
Then the loop gain is
6
( s  5)( s  8)
.
s 2 ( s  1)
The relative degree is m=1, so there is one zero at infinity. The asymptote is at -180o, so
the centroid need not be found.
G( s)  K ( s) H ( s) 
It is straightforward to use the RL rules to quickly sketch the RL. To plot the RL
using MATLAB, one simply uses the command lines:
num= [1 13 40] ;
den= [1 1 0 0] ;
rlocus= (num,den)
The result is shown below.
The value of k for which the RL crosses the imaginary axis is easily found using
the Routh test. The characteristic polynomial is found from 1+kG(s) as
s 2 ( s  1)  k ( s  5)( s  8)  s 3  (k  1) s 2  13ks  40k .
The Routh Array is given by
s3
s2
1
s
s0
1
13k
k 1
13k 2  27k
40k
40k
where one has multiplied the third row by k+1. To ensure that all coefficients in the first
column are positive, one requires that k  27 . Thus, the RL crosses the imaginary axis
13
at k= 27/13. The roots at this point are determined by substituting k= 27/13 into the
7
characteristic polynomial and using the MATLAB root-finder 'roots'. The MATLAb
command lines are:
k=27/13 ;
del=[1 k+1 13*k 40*k] ;
roots(del)
ans =
0.0000 + 5.1962i
0.0000 - 5.1962i
-3.0769
8