EXP (5) - State Variable Feedback Design
EXP (5) - State Variable Feedback Design
(5)
State Variable Feedback design
…………………(A)
In equation (A), r(t) is a vector of desired state variable and (K) is referred to as the
state feedback gain matrix. Equation (Dynamic equation) and equation (A) are
represented in state variable block diagram form in figure (1) as shown below.
…………………….(B)
In equation (B) the matrix (A-BK) is the closed loop system matrix. For the system
described by equation (Dynamic equation), The characteristic equation is given by
……………………(C)
The roots of equation (C) are the open-loop poles or Eigen values . For the closed –
loop system described by equation (B) , The characteristic equation(B) is
…………………….(D)
The roots of equation (D) are the closed loop poles or Eigenvalues.
The simplest compensator, as you know, involves the pole placement technique.
Consider a system represented by the following state space equation
The control system Toolbox of MATLAB allows you to design the state feedback
controller for this mode which could be a SISO model or a MIMO model. The state
variables feedback for this system is a scale function that takes the form
Kx=[K1 K2 K3………Kn]
X1
X2
.
.
Xn
1
The block diagram of the system with state variables feedback is shown below
Fig. (1)
……………………………(1)
…..… ……………...……(2)
contains n linearly in dependent row or column vectors, i.e. is of rank n (that is
matrix is on non-singular ,i.e. the determinant is non –zero ). Equation (2) is called
the controllability matrix.
……………………(3)
Example
The equation controllability matrix is:
Where
2
Hence
…………………………….(4)
Equation (4) is non-singular since it has a non-zero determinant. Also the tow row and
column vectors can be seen to be linearly independent, so it is of rank 2 and therefore
the system is controllable.
From equation
………..….(5)
Equation (5) is singular since it has a zero determinant. Also the column vectors are
linearly dependent since the second column is -5 times the first column and therefore
the system is unobservable.
* For controllability,
Con=ctrb(a,b)
Returns the composite controllability matrix [Equation (2)]
Con=ctrb(ModelName)
Returns the composite controllability matrix of model with realization (a,b,c,d), which
is equivalent to ctrb(ModelName.a, ModelName.b)
3
*For Observability
Obs=obsv(a,c)
Returns the composite observability matrix [c]
Obs=obsv(ModelName)
Returns the composite observability matrix of Model with realization (a,b,c,d), which
is equivalent to obsv(ModelName.a, ModelName.c)
Where
ModelName …………is the name of the (SS)model under consideration
a,b,c …………. Are the system, input and output matrix of the (SS)model
under consideration.
A&b……………. specifies 2D real valued system matrix of the SISO system under
consideration, which may be continuous or discrete
4
solution:
modelG=ss(a,b,c,d);
Check whether the model is controllable
Con=ctrb(modelG);
Rank(con)
Returns
Ans=
3
Since the model is of third order and the rank of controllability matrix is also 3.
Hence, the states of the model are fully controllable and hence available for state
feedback control. Let us now design the state feedback controller for the model for
desired location of closed _loop poles given by vector (P)
P=[-2 -4 -6];
K=acker(a,b,P)
Returns
K=
45 39 5
With a 1 rad/sec reference added to the system, the design criteria are:
* settling time less than 2 seconds
* overshoot less than 5%
* steady-state error less than 1%
5
Solution:
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
A=[-b/J K/J;-K/L -R/L];
B=[0;1/L];
C=[1 0];
D=0;
ModelG=SS(A,B,C,D)
Designing the full-state feedback controller: Since both of the state variables in our
problem are very easy to measure (simply add an ammeter for current and a
tachometer for the speed), we can design a full-state feedback controller for the
system without worrying about having to add an observer.
Recall that the characteristic polynomial for this closed-loop system is the
determinant of (sI-(A-BK)) where s is the Laplace variable. Since the matrices A and
B*K are both (2x2) matrices, there should be 2 poles for the system. By designing a
full-state feedback controller, we can move these two poles anywhere we want them.
We shall first try to place them at (-5 + i) and (-5-i), (note that this corresponds to a
(zeta = 0.98) which gives (0.1% overshoot) and a (sigma = 5) which leads to a (1 sec
settling time). Once we come up with the poles we want, MATLAB will find the
controller matrix(K) for us. Simply add the following code to the end of your m-file
P=[-5+j -5-j];
K=acker(A,B,P);
t=0:0.01:3;
step(A-B*K,B,C,D,1,t)
Run your m-file in the command window, you should see the following plot
6
Question: -
Q1) What the means of the following: -
a. Controllability
b. Observability
c. Eigen value and Eigen vector
d. Rank of the matrix
2.