# Launch windows for on-orbit rendezvous

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

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.)

• You don't want to match up the ground track, you want to match up orbital planes. The ground track is the locus of the subnadir point of a satellite as it traverses its orbit. This is distinct from the location of the orbital plane, which is a great circle around the earth at all times. Every point on earth with a latitude lower than the inclination of an orbit (let's forget about retrograde orbits for the moment) passes through its orbital plane twice a day: an ascending pass and a descending pass. – Tristan Feb 9 '17 at 16:46
• That is a sufficient condition, but it is not a necessary condition. The spacecraft could be on the other side of the world (different mean anomaly) when the launch point passes through the orbital plane. For the orbital planes to match up (which is the primary launch window driver), you need only match the inclination and the RAAN to avoid plane change maneuvers. Everything else (semimajor axis, eccentricity, argument of perigee, and mean anomaly) can be controlled using carefully timed prograde or retrograde burns. – Tristan Feb 9 '17 at 17:36
• @uhoh, so it's not my question, but I'm pretty sure there are only two, with the language you quote being as an example, (without loss of generality, as mathematicians would say) – Tristan Feb 10 '17 at 15:17
• @Dr.JohnnyMohawk You still want to look at the orbital planes, not ground track. Those are your absolute drivers. Then, from those, you choose the ones that give you a workable phase angle. You will probably have a range of acceptable phase angles, depending on available delta-v and acceptable rendezvous time. – Tristan Feb 10 '17 at 15:21
• @WayneConrad I run SciRuby. Check us out: sciruby.com. :) – Doctor Mohawk Dec 4 '17 at 21:36