VCL Safe Mode Eclipse Control Law

Page 1

VCL Safe Mode Eclipse Control Law By Steve Rogers

Introduction This is a conceptual check of the safehold lqr control law study performed by the Glory group contained in DN-Glory-ACS-014, section 5.2. The linearized equations of motion and lqr control law are   − J −1 K λ 0ω J −1  ω   =  H  

0

u = −[ K ωK B − J −1 K λ A = 0 

 +  u 0H  −I 

ω K h ]  H  0  0

J −1  B =  − I 

 0  , K λ = − λ   0

λ 0 0 0

0  0 

with the C as identity matrix and D = 0 complete the linear model.

The values for the inertial matrix are not those used in the study, but are the more accurate ones used in the dynamic model. The values are: J = [195.36 1.527 1.527 173.38 1.081 -0.580

1.081 -0.580 303.908];

These more accurate values require a state space development instead of the transfer function development used in DN-Glory-ACS-014. The LQR formulation requires the matrices A, B, Q, and R. A and B are given above, whereas, Q and R (the penalty matrices) are

1 / ω max 2 0 0 0    2 0 1 / ω 0 0 max  Q=  2  0 0 1 / hmax 0   2 , 0 0 1 / hmax   0 1 / umax 2 0  R=  2 1 / umax   0

ωmax = 0.002 r/s hmax = 0.3 Nms umax = 0.007 Nm In the first comparison the momentum is included, but is not included in the second comparison. A snippet of matlab code showing the design is shown below. Q = diag([tempw tempw tempw temph temph temph]); R = diag([tempu tempu tempu]); K = lqr(A,B,Q,R); % lqr control law gain


% scaling of G & K De = diag([wmax wmax wmax hmax hmax hmax]); Du = diag([umax umax umax]); Ks = inv(Du)*K*De; G = ss(A,B,eye(6),zeros(6,3)); Gw = inv(De)*G*Du; % SVD analyses L = Gw*Ks; % Loop Transfer Function S = inv(eye(6) + L); % Sensitivity Transfer Function T = eye(6) - S; % Complementary Sensitivity Transfer Function W = eye(3); % unstructured uncertainty weighting matrix M = W*Ks*S*Gw;

Results In order to evaluate the control system singular value plots may be used, which are plotted as shown below. The uncompensated plant response is shown first. Maximum Singular Values for G and L

8

10

L G 6

10

4

10

2

10

0

10

-2

10

-3

10

-2

10

-1

10

0

10

The following plot shows the system improvement with lqr compensation. The unity (100) response infers good tracking at low frequencies.


Maximum Singular Values for S,T, and M

0

10

S T M

-1

10

-2

10

-3

10

-2

10

-1

10

0

10

Maximum Singular Values for M

0

10

-1

10

-2

10

-3

10

-2

10

-1

10

0

10

As discussed in DN-Glory-ACS-014 the singular values plotted above show general stability and disturbance rejection characteristics of the control system. They are very close to the results shown in DN-Glory-ACS-014. The following are impulse and step responses, which show interaction, setpoint tracking, and disturbance rejection performance. The interaction between each input and output is shown graphically in the


3x3 plot matrix. The use of the momentum in the lqr control law reduces the interaction of the roll-pitch-yaw. impulse response From: In(2)

From: In(1)

From: In(3)

To: Out(1)

0.04 0.02 0

To: Out(2)

Amplitude

-0.02 0.04 0.02 0

To: Out(3)

-0.02 0.03 0.02 0.01 0 0

200

400

600

800 0

200

400

600

800 0

200

400

600

800

Time (sec)

step response From: In(2)

From: In(1)

From: In(3)

To: Out(1)

1.5 1 0.5 0

To: Out(2)

Amplitude

1.5 1 0.5 0

To: Out(3)

1

0.5

0 0

200

400

600

0

200

400

600

0

200

400

600

Time (sec)

The above are the impulse and step response characteristics of the original study. The following are the impulse and step response characteristics of a system designed without the momentum included. The interaction effect in the roll and pitch channels is much


more severe and is not acceptable. This is probably why they incorporated the momentum into the control law. impulse response From: In(2)

From: In(1)

From: In(3)

To: Out(1)

0.02 0.01 0

To: Out(2)

Amplitude

-0.01 0.04 0.02 0

To: Out(3)

-3 -0.02 x 10 15

10 5 0 0

200

400

600 0

200

400

600 0

200

400

600

Time (sec)

step response From: In(2)

From: In(1)

From: In(3)

To: Out(1)

1 0.5 0

To: Out(2)

0

-1 1 To: Out(3)

Amplitude

-0.5 1

0.5

0 0

200

400

600

0

200

400

Time (sec)

600

0

200

400

600


Conclusions Singular values, impulse responses, and step responses are used to validate the system performance in a graphical fashion. Singular values show performance over the frequency spectrum and tracking characteristics. Impulse and step responses show disturbance responses and setpoint tracking performance, as well as interaction relationships. In case of a tracking error criteria violation the interaction information will be important in solving the problem. Using the above criteria the control strategy will likely meet all performance criteria.

Appendix Attached is the matlab code that generated the plots above. % glory_stab_test.m % clear * warning off J = [195.36 1.527 1.081 1.527 173.38 -0.580 1.081 -0.580 303.908]; lam = -3; Kl = [0 lam 0 -lam 0 0 0 0 0]; A = [-inv(J)*Kl zeros(3,3) zeros(3,6)]; B = [inv(J);-eye(3)]; wmax = 0.002;% r/s hmax = 0.3; % Nms umax = 0.007; % Nm tempw = 1/wmax/wmax; temph = 1/hmax/hmax; tempu = 1/umax/umax; Q = diag([tempw tempw tempw temph temph temph]); R = diag([tempu tempu tempu]); K = lqr(A,B,Q,R); % scaling of G & K De = diag([wmax wmax wmax hmax hmax hmax]); Du = diag([umax umax umax]); Ks = inv(Du)*K*De; G = ss(A,B,eye(6),zeros(6,3)); Gw = inv(De)*G*Du; % L S T W M

SVD analyses = Gw*Ks; = inv(eye(6) + L); = eye(6) - S; = eye(3); = W*Ks*S*Gw;


wf = {1e-3,1}; [mag,phase,wf] = bode(L,wf); svdmax = max(max(abs(mag),[],1),[],2); svdmax = svdmax(:); [mag,phase] = bode(Gw,wf); svdmaxg = max(max(abs(mag),[],1),[],2); svdmaxg = svdmaxg(:); figure(1) loglog(wf,[svdmax,svdmaxg]),grid on title('Maximum Singular Values for G and L') legend('L','G') wf = {1e-3,1}; [mag,phase,wf] = bode(S,wf); svdmax = max(max(abs(mag),[],1),[],2); svdmax = svdmax(:); [mag,phase] = bode(T,wf); svdmaxg = max(max(abs(mag),[],1),[],2); svdmaxg = svdmaxg(:); [mag,phase] = bode(M,wf); svdmaxm = max(max(abs(mag),[],1),[],2); svdmaxm = svdmaxm(:); figure(2) loglog(wf,[svdmax,svdmaxg,svdmaxm]),grid on title('Maximum Singular Values for S,T, and M') legend('S','T','M') figure(3) loglog(wf,svdmaxm),grid on title('Maximum Singular Values for M') figure(4) impulse(M),grid on title('impulse response') figure(5) step(M),grid on title('step response') A = [-inv(J)*Kl]; B = [inv(J)]; Q = diag([tempw tempw tempw]); R = diag([tempu tempu tempu]); K = lqr(A,B,Q,R); % scaling of G & K De = diag([wmax wmax wmax]); Du = diag([umax umax umax]); Ks = inv(Du)*K*De; G = ss(A,B,eye(3),zeros(3,3)); Gw = inv(De)*G*Du; % SVD analyses L = Gw*Ks; S = inv(eye(3) + L); T = eye(3) - S; W = eye(3); M = W*Ks*S*Gw;


figure(6) impulse(M),grid on title('impulse response') figure(7) step(M),grid on title('step response')


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.