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.