Gravity gradient analysis of Gateway orbit
See also: Constant, Date2JD, RPRA2AE, Period, RVOrbGen, PltOrbit, UMinGG, U2Q, QForm, Cross, TimeHistory, DeltaQToRate, PrintFig
Contents
%-------------------------------------------------------------------------- % Copyright (c) 2022 Princeton Satellite Systems, Inc. % All rights reserved. %-------------------------------------------------------------------------- % Since 2023.1 %--------------------------------------------------------------------------
User inputs
Constants
mu = Constant('mu moon'); rM = Constant('equatorial radius moon'); % Gateway rA = 70000; % apogee rP = 3000; % perigee % The body inertia is used for gravity gradient inertia = [1.6406e+06 -8.6764e+04 -4.7583e+03;... -8.6764e+04 9.9031e+05 -8.5474e+02;... -4.7583e+03 -8.5474e+02 1.8093e+06]; cM = [ -3.1182e-04; 4.2778e-05; -1.5026e-05]; % Script control nOrbits = 4; nSamp = 400; jD0 = Date2JD([2024 2 2]); % Plot printPlots = false;
Calculate
if( printPlots ) close all end % Orbit [a, e] = RPRA2AE( rP, rA ); el = [a pi/2 0 0 e 0]; period = Period( a, mu ); t = linspace(0,nOrbits*period,nSamp); dT = t(2); [r,v] = RVOrbGen(el,t,[],mu); PltOrbit( el, jD0, [], 'moon' ); u = UMinGG(inertia ); q = zeros(4,nSamp); m = zeros(3,nSamp); for k = 1:nSamp q(:,k) = U2Q(Unit(r(:,k)),u); rB = QForm(q(:,k),r(:,k)); m(:,k) = 3*mu*Cross( rB, inertia*rB )/Mag(rB)^5; end

Plot
TimeHistory(t,q,{'q_s' 'q_x' 'q_y' 'q_z'},'Quaternion for Minimum GG'); yL = {'r_x (km)' 'r_y (km)' 'r_z (km)' 't_x \muNm' 't_y \muNm' 't_z \muNm'}; TimeHistory(t,[r;m],yL,'Orbit and Gravity Gradient Torque');


Delta rates and torques
omega = DeltaQToRate(q,dT); yL = {'\omega_x (rad/s)' '\omega_y (rad/s)' '\omega_z (rad/s)'}; TimeHistory(t(2:end),omega,yL, 'Angular Rate'); torque = inertia*(omega(:,2:end)-omega(:,1:end-1))/dT; yL = {'T_x (Nm)' 'T_y (Nm)' 'T_z (Nm)'}; TimeHistory(t(3:end),torque,yL, 'Control Torque');


Print to file
if( printPlots ) PrintFig(1,4,2,'GG1') PrintFig(1,4,3,'GG2') PrintFig(1,4,4,'GG3') PrintFig(1,4,5,'GG4') end %-------------------------------------- % $Id: c62d3d3f1d7c01c77f05f4d656f15ba329e86462 $