1)
2)
A=0 0 1
B= 0.3
1
G= -0.7
1.12
100
0
1
-1.17 1
010
-0.3
0.9
0.14
C=[1.9 1.3 1]
Qn=E(wwT)= 4 2 2
D=[0.53 −0.61]
1.5
H=[−1.2 −0.89]
Rn=E(vvT)=0.7
1
[ ] ) ( T T J(u)= 0.1x x+x2i+u 1002 u dt ∞0
To design an LQG servo controller for this system: 1. Create the state space system by typing the following in the MATLAB Command Window: 2. A = [0 1 0;0 0 1;1 0 0]; 3. B = [0.3 1;0 1;-0.3 0.9]; 4. G = [-0.7 1.12; -1.17 1; .14 1.5]; 5. C = [1.9 1.3 1];
6. D = [0.53 -0.61]; 7. H = [-1.2 -0.89]; sys = ss(A,[B G],C,[D H]); 8. Construct the optimal state-feedback gain using the given cost function by typing the following commands: 9. nx = 3;
%Number of states
10. ny = 1;
%Number of outputs
11. Q = blkdiag(0.1*eye(nx),eye(ny)); 12. R = [1 0;0 2]; 13. K = lqi(ss(A,B,C,D),Q,R); 14. Construct the Kalman state estimator using the given noise covariance data by typing the following commands: 15. Qn = [4 2;2 1]; 16. Rn = 0.7; 17. kest = kalman(sys,Qn,Rn); 18. Connect the Kalman state estimator and the optimal state-feedback gain to form the LQG servo controller by typing the following command: trksys = lqgtrack(kest,K) This command returns the following LQG servo controller: >> trksys = lqgtrack(kest,K)
a= x1_e
x2_e
x3_e
xi1
x1_e -2.373 -1.062 -1.649 0.772 x2_e -3.443 -2.876 -1.335 0.6351 x3_e -1.963 -2.483 -2.043 0.4049 xi1
0
0
0
0
b= r1
y1
x1_e
0 0.2849
x2_e
0 0.7727
x3_e
0 0.7058
xi1
1
-1
c= x1_e
x2_e
x3_e
xi1
u1 -0.5388 -0.4173 -0.2481 0.5578 u2 -1.492 -1.388 -1.131 0.5869
d= r1 y1 u1 0 0 u2 0 0