Linear Systems and Control - Week 10: Observer Based State Feedback Controller Design
Linear Systems and Control - Week 10: Observer Based State Feedback Controller Design
September 9, 2020
Controller Design Techniques Observer based state feedback controller
Controller Design Methods
First, we check stability of this system. The eigenvalues of this system can
be obtained from det(λI − A) = 0
Controller Design Techniques Observer based state feedback controller
First, we check stability of this system. The eigenvalues of this system can
be obtained from det(λI − A) = 0
λ 0 2 3
det(λI − A) = det −
0 λ 0 5
λ−2 −3
= det
0 λ−5
= (λ − 2)(λ − 5) − (0)(−3)
= (λ − 2)(λ − 5) − (0)
= (λ − 2)(λ − 5)
The MATLAB code is as follows: MATLAB code for designing state feed-
back controller
clear;
clc;
A=[2 3; 0 5 ];
eig(A)
Controller Design Techniques Observer based state feedback controller
dx1
dt
2 3 x1 1
dx2 = + u(t)
dt
0 5 x2 2
x1
y= 1 0
x2
Controller Design Techniques Observer based state feedback controller
dx1
dt
2 3 x1 1
dx2 = + u(t)
dt
0 5 x2 2
x1
y= 1 0
x2
As matrix C is NOT equal to identity matrix, we proceed to design of
observer-based state feedback controller.
Controller Design Techniques Observer based state feedback controller
In this case n =
Controller Design Techniques Observer based state feedback controller
1 8
P =
2 10
det(P ) = −6
1 8
P =
2 10
det(P ) = −6
A=[2 3; 0 5 ];
B=[1; 2];
P=[B A*B]
rank(P)
Controller Design Techniques Observer based state feedback controller
In this case n =
Controller Design Techniques Observer based state feedback controller
det(Q) = 3
det(Q) = 3
A=[2 3; 0 5 ];
C=[1 0] ;
Q=[C; C*A]
rank(Q)
Controller Design Techniques Observer based state feedback controller
To design controller, first we need to design observer and then state feed-
back controller as follows:
Observer:
Construct matrix L whose size is transpose the size of C
Populate matrix L with elements starting from l1 , l2 and so on
Post-multiply C with L to obtain LC, and then compute
det sI − A − LC
Obtain the desired characteristic equation for observer and compare
coefficients to obtain the values of l1 , l2 , and so on
Controller Design Techniques Observer based state feedback controller
l
L= 1
l2
Controller Design Techniques Observer based state feedback controller
l
L= 1
l2
l1 0
LC =
l2 0
Controller Design Techniques Observer based state feedback controller
l
L= 1
l2
l1 0
LC =
l2 0
2 3 l 0
A − LC = − 1
0 5 l2 0
2 − l1 3
A − LC =
−l2 −5
s 0 2 − l1 3
sI − (A − LC) = −
0 s −l2 −5
s − 2 + l1 −3
sI − (A − LC) =
l2 s−5
Controller Design Techniques Observer based state feedback controller
s − 2 − l1 −3
sI − (A − LC) =
−l2 s−5
det(sI − (A − LC)) =
Controller Design Techniques Observer based state feedback controller
s − 2 − l1 −3
sI − (A − LC) =
−l2 s−5
det(sI − (A − LC)) = s2 + (l1 − 7)s + (−5l1 + 3l2 + 10)
Now lets compare it with desired characteristic equation:
s − 2 − l1 −3
sI − (A − LC) =
−l2 s−5
det(sI − (A − LC)) = s2 + (l1 − 7)s + (−5l1 + 3l2 + 10)
Now lets compare it with desired characteristic equation:
K = k1 k2
Controller Design Techniques Observer based state feedback controller
K = k1 k2
k1 k2
BK =
2k1 2k2
Controller Design Techniques Observer based state feedback controller
K = k1 k2
k1 k2
BK =
2k1 2k2
2 − k1 3 − k2
A − BK =
0 − 2k1 5 − 2k2
s 0 2 − k1 3 − k2
sI − (A − BK) = −
0 s 0 − 2k1 5 − 2k2
s − 2 + k1 −3 + k2
sI − (A − BK) =
2k1 2k2 + s − 5
Controller Design Techniques Observer based state feedback controller
s − 2 + k1 −3 + k2
sI − (A − BK) =
2k1 2k2 + s − 5
det(sI − (A − BK)) =
Controller Design Techniques Observer based state feedback controller
s − 2 + k1 −3 + k2
sI − (A − BK) =
2k1 2k2 + s − 5
det(sI − (A − BK)) = s2 + (k1 + 2k2 − 7)s + (−4k2 + 10)
Now lets compare it with desired characteristic equation:
(s + 3)(s + 5) = s2 + 8s + 15
s − 2 + k1 −3 + k2
sI − (A − BK) =
2k1 2k2 + s − 5
det(sI − (A − BK)) = s2 + (k1 + 2k2 − 7)s + (−4k2 + 10)
Now lets compare it with desired characteristic equation:
(s + 3)(s + 5) = s2 + 8s + 15
clear;
clc;
A=[2 3; 0 5 ];
B=[1; 2];
C=[1 0];
P=[B A*B];
disp(’The rank of matrix P is ’)
rank(P)
Q=[C; C*A];
disp(’The rank of matrix Q is ’)
rank(Q)
desiredObegn=[-10 -20];
L=place(A’,C’,desiredObegn)’
desiredCONegn=[-3 -5];
K=place(A,B,desiredCONegn)
Controller Design Techniques Observer based state feedback controller
D=[0];
step(A,B,C,D)
title(’Step response of the system’)
ylabel(’Amplitude in response to unit step’);
[num, den]=ss2tf(A,B,C,D);
polesTf=roots(den);
disp(’The poles of the transfer function are ’);
polesTf