Suppose you've got a spacecraft in an orbit similar to that of ISS (let's say 51.6 degrees, but about 19 km lower). Suppose also you want to launch a second spacecraft to rendezvous with the first, and you don't have the margin in your launch vehicle to do a dog-leg.
It seems to me that you're looking to launch the second when the ground track of the first is near the launch site again (i.e. the ground track repeats). But the ground track doesn't repeat exactly — so how close does it need to be?
I've written this function (in Ruby) to find the ground track repeats:
# Return the number of days (not sidereal days) to the
# next ground track repeat.
#
# Parameters:
# * period: orbital period (seconds)
# * within_degrees: how close the ground track must be (degrees)
# * max_passes: maximum passes over the launch site to consider
# * sidereal_day: length of planetary sidereal day (seconds)
#
# Returns:
# * decimal time in days, if found; otherwise nil
# * error in degrees, if found; otherwise nil
#
def days_to_next_launch_opportunity period, within_degrees: 1.5, max_passes: 100, sidereal_day: 86164.1
orbits_per_sidereal_day = sidereal_day / period
orbits_per_day = 3600.0 * 24.0 / period
ground_track_precession = 360.0 / orbits_per_sidereal_day
max_passes.times do |m|
approx_orbits = (m+1)*360 / ground_track_precession
orbits =
if approx_orbits - approx_orbits.floor < approx_orbits.ceil - approx_orbits
approx_orbits.floor
else
approx_orbits.ceil
end
degrees_away = orbits * ground_track_precession - (m+1)*360
return [orbits / orbits_per_day, degrees_away] if degrees_away.abs < within_degrees
end
return [nil, nil] # not found
end
This function tells me most launch opportunities for such an orbit are about 2 days apart (within 2 degrees of a ground track repeat), even varying the inclination, eccentricity, altitude, and longitude of the ascending node slightly. Very occasionally, I get 9 days or 11 days separation between launch windows.
However, we don't want to hit the first spacecraft with the second. Supposing we want to launch to the same altitude, but 1–1.5 degrees behind or ahead of it so we can phase to proximity operations within 6 or so hours.
Does this mean we actually want to offset the ground track slightly? By how much? I'm sure there's some really simple trigonometry for this, but I can't find it in Wertz & Larson or in Vallado. Where should I look?
(Note that there's a related question here, but it seems more theoretical, and I'm asking about the math.)