MEEN 651 Summer 2004 1) Solution: (a) Lets write this system in the control canonical form,
&1 0 4 x1 1 x x = + u, & 2 1 0 x 2 0 y = [1 0]X .
Homework No. 8 July 30, 2004
(b) If u = [K1 K2]x, the poles of the closed-loop system satisfy det(sIF+GK) = 0. Thus,
s + K1 det 4
1+ K2 = 0 s 2 + K 1 s + 4 + K 2 = 0. s
The closed-loop characteristic equation is,
( s + 2 2 j )(s + 2 + 2 j ) = s 2 + 4s + 8 = 0.
Comparing coefficients, we have K1 = 4 and K2 = 4. The MATLAB command place can also be used to verify this result. 2) Solution: For a second-order system, the specification on peak time can be translated into a value of n by the equation d =. Then determine n from d = n 1 2 yield n = 1.414. Using full state feedback, we would like the a characteristic equation to be,
s 2 + 2 n s + n 2 = s 2 + 2 s + 2 = 0
Using state feedback U = KX = [k1 k 2 ]X , we get,
& = ( F GK ) X = 0 X 8 k 1 1 X. 7 k2
Hence the closed-loop characteristic equation is, s 2 + (7 + k 2 ) s + (8 + k1 ) = s 2 + 2 s + 2 = 0 Comparing coefficients, k1 = 6 and k2 = 5. Matlab verification: Using simulink like below
MEEN 651 Summer 2004
Homework No. 8 July 30, 2004
The step response is shown below
Step Response 0.7
0.6
0.5
0.4
0.3
0.2
0.1
5 Time(s)
10
3) Solution: To obtain the state space description we yields
MEEN 651 Summer 2004
Homework No. 8 July 30, 2004
The state feedback gain must satisfy Since K = [k1 k2 k3], above equation can be written as
This leads to
4) Solution: (a) The state space equations of motion are,
We require the closed-loop characteristic equation to be,
From the above state equations,
det( sI F + GK ) = s 4 + (k 2 k 4 ) s 3 + (k1 k 3 1) s 2 + k 4 (1 ) s + k 3 (1 ) = c ( s )
Comparing coefficients yields:
(b) The symmetric root locus is shown on the next page, where we have chosen H = [ 0 0 1 0]. The following MATLAB commands can be used to generate the symmetric root locus: a=[F, 0*F;-H*H, -F];b=[G;0*G]; c=[0*H, G];d=0; rlocus(a,b,c,d);
MEEN 651 Summer 2004
Homework No. 8 July 30, 2004
The chosen pole locations, shown on the symmetric root locus, result in a feedback gain of (using MATLAB place command), K = [ 13.5 18.36 3.9 13.98 ]. (c) The initial condition response to (0) = 10 for both control designs in (a) and (b) is shown as following
MEEN 651 Summer 2004
Homework No. 8 July 30, 2004
(d) To compute Nx and Nu for zero steady-state error to a constant command input on cart position, x, we solve the equations,
Choose cart position x as output, y=x, thus H2=[0 0 1 0], This yields Nx = [0 0 1 0]T and Nu = 0. The step responses for each of the closed-loop systems are shown as following
MEEN 651 Summer 2004
Homework No. 8 July 30, 2004
5) Solution: We first obtain the 4-tuple (Ao,Bo,Co,Do) for the choice of state variables specified in the question. This leads to
We next use the MATLAB command place to find K, using the following MATLAB code >>Go=tf(3,[1 6 11 6]); P=[-3 -4 -5]'; >>Ao=[0 1 0;0 1 0;-6 -11 -6];Bo=[0;0;3]; >>K=place(Ao,Bo,P); This yields K = [18 12 2]. 6) Solution: (a) For the overshoot specification,
For the 1% settling time specification, we use,
MEEN 651 Summer 2004
Homework No. 8 July 30, 2004
(b) This can be implemented in MATLAB with the following code:
F = [0,1;0,-10]; G = [0;1]; H = [1,0]; J = 0; zeta = 0.404; % Tweak values slightly so that specs are met. ts = 0.114; wn = 4.6/(ts*zeta); p = roots([1, 2*zeta*wn, wn2]); k = place(F,G,p); sysCL=ss(F-G*k,G,H,J) step(sysCL);
The step response is shown as
Step Response