You are on page 1of 7

Control System Design in State Space ( ch.

10, p 722 )
Systems are required to achieve certain desired goals and objectives. If such goal is not
fulfilled by a system on its own, a need arises to enforce changes to that system
ranging from re-building it to externally introducing additional extra components
( controllers ) . These may encompass: gain factors , derivative actions , integral actions
, PID, and many other controllers taught in classical control systems .

Among the cases where a system needs control are:

 Instability. A must for a system to be useful .


 System transient response is unacceptable ( too slow, too fast, unacceptable
overshoot, unacceptable rise- time, unacceptable settling time, etc ).
 System steady state response is unacceptable (presence of steady state errors ).
 A need for optimal control to maximize or minimize certain measures.
 A need for adaptive, and robust behavior when dealing with systems
experiencing parameter variation, and/or external disturbances.

In this course, we shall consider methods of design such as pole ( eigenvalue )


assignment , optimal control , decoupled control, Layapunov stability methods , and
variable structure systems.

Pole ( Eigenvalue ) Placement. ( p 723 ).

Since poles of a transfer function are the eigenvalues of the A matrix , these methods are
also known by the names pole/eigenvalue assignment , pole/eigenvalue allocation.

With these methods , a state feedback


control law

u=r−Kx

is sought such that the system



x  Ax  Bu

exhibits desired
dynamics through a suitable set of
eigenvalues/pole. ( diagram is courtesy of
ctms.engin.umich.edu)

Applying the controller u results in a closed loop system given by



x  ( A  BK ) x  Br

x  AK x  Br
The new dynamics of the system are now dictated by A K not by A . In
addition to A K , the steady state output is also governed by the excitation reference
signal r.

To change all n eigenvalues of a system , the system must be controllable .

Methods for determination of the eigenvalues are in the hundreds. Only three will be
considered.

The Companion Controllable Form.

In this case , the system assumes the following standard form, i.e. a stair-case form for
A . B is all zeros except for the last element which shouldn’t equal zero . Such form
always results in what is known as a controllable system .Considering n=4.

 0 1 0 0  0

 0 0 1 0   0
x x   u
 0 0 0 1  0
   
  a4 a3  a2  a1  1 

For this form , the characteristic polynomial │ A−λ I n │=0, is always given by.

λ 4 +a1 λ3 +a 2 λ 2+ a3 λ+a 4=0

Suppose K=[ k 4 k 3 k 2k 1] , the closed loop system will be

 0 1 0 0  0

 0 0 1 0   0
x  x r
 0 0 0 1  0
   
  a4  k 4 a3  k 3  a2  k 2  a1  k1 1 
Following the pattern, the closed loop characteristic polynomial is therefore

λ 4 +( a¿¿ 1+ k 1) λ3 +(a¿¿ 2+k 2) λ2 + ( a3 + k 3 ) λ+(a¿¿ 4 +k 4 )=0 ¿ ¿ ¿

Suppose the desired eigenvalues to be assigned ( placed ) are γ 1, γ 2, γ 3 ,∧γ 4 , then


the desired closed loop characteristic polynomial is

( λ−γ 1)¿

Expanding , we get , say a fourth order monic polynomial

λ 4 +α 1 λ 3+ α 2 λ2 +α 3 λ+ α 4=0

So

λ 4 +( a¿¿ 1+ k 1) λ3 +(a¿¿ 2+k 2) λ2 + ( a3 + k 3 ) λ+(a¿¿ 4 +k 4 )=λ 4 +α 1 λ3 + α 2 λ2 +α 3 λ+ α 4 ¿ ¿ ¿

Hence, the feedback matrix K is given by k j=α j −a j ; j=1 , … , n=4

0 1 0 0
Example 1 ; consider a system given by 
x   0 0 1  x  0  u
 
1 2 3 1 

By inspection, ,the system is obviously unstable ( why ?.


see matrix properties ).

It is desired to assign the following eigenvalues : -2± 5j, and -4.

Let MATLAB poly function calculate the closed loop characteristic polynomial :

≫,pA=poly([-2+5i -2-5i -4])

i.e. the closed loop characteristic polynomial is λ 3+ 8 λ2+ 45 λ+116=0 .

The open loop characteristic polynomial is by inspection λ 3−3 λ2−2 λ−1=0 , hence,
K=[117 47 11 ] . Checking the answer using

≫eig(A-B*K)

Gives eigenvalues -2± 5j, and -4 , as desired.


Exercise 1 : for the same A matrix in Example 1, assign -2, -4, and -4.

Exercise 2 : for the same A matrix in Example 1, assign -2, -4, and -4 , when B is
changed to B = [0 0 5 ]T.

The companion controllable form method requires a system to be in that form for it to
work. However, most systems are not represented in that form, so the method will not
work with such systems . There is a method to convert controllable systems to that
form ( see book p 726 ) but we shall not consider that . Instead, we consider the
following method which deals with any general form. However, it works only with
single input systems , and it still requires systems to be controllable .

Ackermann's method .
Once more let the desired eigenvalues to be assigned ( placed ) are γ 1, γ 2, γ 3 ,∧γ 4 ,
then the desired closed loop characteristic polynomial is

ϕ ( λ )=( λ−γ 1)¿

Expanding , we get , say a fourth order monic polynomial

ϕ ( λ )=λ 4 +α 1 λ3 + α 2 λ2 +α 3 λ+ α 4=0

It can be shown ( see book p 731 ) that for n=4 .

−1
K= [ 00 0 1 ] [ B AB A 2 B A 3 B ] ϕ( A)

The matrix in the middle will not have an inverse unless the system is controllable,
hence, the requirement of a system to be controllable .

Ackermann's method is systematic , doesn't require special forms , however, it is limited


to single input systems and requires controllability .

The method is implemented by a MATLAB function named acker.

Example 2: consider the system 0 1 0 0



x   0 0 1  x  1  u
 
Note: the first method now doesn’t apply ( why) 1 2 3 0 

Using Ackermann's method , assign -2± 5j, and -4.


−1
K =[ 0 0 1 ] [ B AB A 2 B ] ( A 3+ 8 A 2+ 45 A +116 I 3 ) =[−22 1151]

To check using MATLAB acker function use ≫ K=acker(A,B,[-2+5i -2-5i -4]) .

It’s always worth it to check that K results in the correct assignment using.

>>AK=A-BK, e=eig(AK)
e=
Giving , 0 1 0  -4.0000 + 0.0000i
AK   22 11 50  -2.0000 + 5.0000i
 1 2 3  -2.0000 - 5.0000i

Exercise 3 : apply Ackermann's method to the system given in Example 1 . Do you


get the same K , or is it a coincident . Make examples of your own to enhance you
conclusion.

The methods described so far apply to controllable single input systems . what about
uncontrollable and multi-input systems?.

The eigenstructure method described below applies to all systems. If an eigenvalue


is uncontrollable , then it has to be re-assigned.

The Eigenstructure Method.

Let λ i be an eigenvalue to be assigned, then solve

[ A−λi I n ] w i=B z i
for w i and i=1,2 , … , n , where z i is a scalar whose value should ensure consistency of

the equations in order to guarantee a solution w i . Having obtained all n w i.

−1
K= [ z 1 z2 z 3 … z n ] [ w1 w2 w 3 … wn ]

As simple as that .
Example 3 : consider the system given in Example 2 . Assuming all z 1 , z 2 , z 3 are
equal to 1 , the system of equations are solved giving w 1 , w 2 , w 3 as listed in the matrix
below , hence

1
 0.0256 + 0.0222i 0.0256 + 0.0222i -0.0667 
K=[ 1 1 1 ]  0.0597 - 0.1726i 0.0597 - 0.1726i 0.2667 
 0.0178 + 0.0468i 0.0178 + 0.0468i -0.0667 
K=[ 22 11 51 ] as before.

 Note that the first two columns are complex conjugate of


each other. This ensures that K will always be real as expected.
 matrix [ A−λ i I n ] can be singular ( doesn't have an inverse ) . A solution still
exists based on the Gauss elimination method with proper choice for z i which
can be zero in certain cases of eigenvalue re-assignment .
 for multi-input systems say m inputs z i should be an m× 1 matrix.
 K calculated for multi-input systems is not unique. It depends on the method
used, or on the accompanying settings peculiar to some methods such as the
different choices for z i permissible with the eigenstructure method .

Example 4 . Assign -3, -4, and -5 0 1 0 1 1 



x   0 0 1  x  0 2  u
 
to the following system 1 2 3 1 0 

Let 1  0  1
z1    , z2    , z3   
0  1  1

Using MATLAB with this particular choice for z i gives ( check it ).

1
 0.3469 0.1143 0.3194 
1 0 1  -0.0408 0.5429 0.4031   0.1460 2.7021 8.6538 
K=      
0 1 1  0.1224 -0.1714 -0.0157   -1.4162 3.8082 5.2819 
Check
that the eigenvalues are indeed assigned using MATLAB eig(A-B*K).

Exercise 4. For the system given in Example 4, assign -2± 5j, and -4.
Choose different z i each time. You should get different K’s , but all of them result in
-2± 5j, and -4 being assigned.

Exercise 5. Read about and try MATLAB place function.

No wonder it gives a different K from that given by the eigenstructure method when a
system is multi-input.

You might also like