Test the gyro model.
First runs the model with the default RIG, RG, FOG and HRG. ------------------------------------------------------------------------ See also Plot2D, RK4, Gyro ------------------------------------------------------------------------
Contents
%-------------------------------------------------------------------------- % Copyright (c) 1999 Princeton Satellite Systems, Inc. % All rights reserved. %--------------------------------------------------------------------------
Run the RIG simulation
%-----------------------
dT = 0.05;
nSim = 100;
x = zeros(3,nSim);
w = 0.01;
t = dT*(0:(nSim-1));
y = zeros(1,nSim);
Initialize
%----------- d.u = [1;0;0]; d.type = 'mechanical rig default'; d.counter.nBits = 16; d.counter.id = 1; Gyro( 'initialize', d ); Gyro( 'put rate', w );
Output
%------- y(1) = Gyro( 'get output' ); for k = 2:nSim x(:,k) = RK4( 'Gyro', x(:,k-1), dT ); y(k) = Gyro( 'get output' ); end j = 1:k; y = [y-w(1)*t;y;x];
Plotting
%--------- yLabel = ['Error '; 'Output '; 'State 1'; 'State 2'; 'State 3']; Plot2D( t(j), y(:,j), 'Time (sec)',yLabel,'Rate Integrating Gyro');
Run the RG Simulation
%----------------------
x = zeros(3,nSim);
y = zeros(1,nSim);
Initialize
%----------- d.u = [1;0;0]; d.type = 'mechanical rg default'; Gyro( 'initialize', d ); Gyro( 'put rate', w );
Output
%------- y(1) = Gyro( 'get output' ); for k = 2:nSim; x(:,k) = RK4( 'Gyro', x(:,k-1), dT ); y(k) = Gyro( 'get output' ); end j = 1:k; y = [y-w(1)*t;y;x];
Plotting
%--------- Plot2D( t(j), y(:,j), 'Time (sec)',yLabel,'Rate Gyro');
Run the FOG Simulation
%-----------------------
nSim = 10000;
dT = 1;
t = dT*(0:(nSim-1));
x = zeros(2,nSim);
y = zeros(1,nSim);
Initialize
%----------- d.u = [1;0;0]; d.type = 'fog default'; Gyro( 'initialize', d ); Gyro( 'put rate', w );
Output
%------- y(1) = Gyro( 'get output' ); for k = 2:nSim; x(:,k) = RK4( 'Gyro', x(:,k-1), dT ); y(k) = Gyro( 'get output' ); end j = 1:k; y = [y-w(1)*t;y;x];
Plotting
%--------- yLabel = ['Error '; 'Output '; 'State 1'; 'State 2']; Plot2D( t(j), y(:,j), 'Time (sec)',yLabel,'FOG'); % Run the FOG Simulation %----------------------- nSim = 10000; dT = 1; t = dT*(0:(nSim-1)); x = zeros(2,nSim); y = zeros(1,nSim);
Initialize
%----------- d.u = [1;0;0]; d.type = 'hrg default'; Gyro( 'initialize', d ); Gyro( 'put rate', w );
Output
%------- y(1) = Gyro( 'get output' ); for k = 2:nSim x(:,k) = RK4( 'Gyro', x(:,k-1), dT ); y(k) = Gyro( 'get output' ); end j = 1:k; y = [y-w(1)*t;y;x];
Plotting
%--------- yLabel = ['Error '; 'Output '; 'State 1'; 'State 2']; Plot2D( t(j), y(:,j), 'Time (sec)',yLabel,'HRG'); %--------------------------------------