Contents
Simulate an orbit raising from an ISS orbit
The strategy is to raise apogee, then correct for longitude of the ascending node then correct inclination. The width of the burn region is the allowable control band around the optimal true anomaly for each element change.
------------------------------------------------------------------------ See also: ISSOrbit, El2RV, RHSOrbit, LowThrustControl, RK4, TimeLabl, Plot2D ------------------------------------------------------------------------
%-------------------------------------------------------------------------- % Copyright (c) 2020 Princeton Satellite Systems, Inc. % All rights reserved. % Since 2020.1 %--------------------------------------------------------------------------
Set up the simulation
el = ISSOrbit; elTarget = [7000 el(2)+0.03 el(3)+0.05 0 0 0]; a = 1e-6; % acceleration magnitude, km/s2 tEnd = 100*86400; % end time, sec dT = 50; % simulation timestep, sec % control parameters mode = 0; % initial mode - increase radius angWidth = 0.1; % Width of burn region tol = 0.01; % Tolerance on error % compute simulation parameters [r,v] = El2RV(el); x = [r;v]; n = ceil(tEnd/dT); d = RHSOrbit;
Simulate
xP = zeros(8,n); for k = 1:n [d.a,mode,el] = LowThrustControl( x, mode, elTarget, a, tol, angWidth ); xP(:,k) = [el(1:3)';mode;el(4:6)';Mag(d.a)]; x = RK4(@RHSOrbit,x,dT,0,d); end
Plot
[t,tL] = TimeLabl((0:n-1)*dT); yL = {'a (km)' 'i (rad)' '\Omega (rad)' 'Mode' 'Acc' }; Plot2D(t,xP([1:4 8],:),tL,yL,'Orbit Raising'); Plot2D(t,xP(end-2:end,:),tL,{'w','e','nu'},'Orbit Raising Elements'); %--------------------------------------