Relative Motion: Terminal Phase Rendezvous

The final phase of rendezvous is often computed based on an algorithm that uses a set of equations that describe the relative motion of the interceptor with respect to the target. This algorithm is used when the target is in a circular orbit and the interceptor is in a nearby orbit where nearby means that the difference in the orbit radii is small compared to the magnitude of the target orbit radius. For example in the case of lunar module rendezvous, the orbit radius of the CSM is about 1820 km and the difference in LM/CSM radii is 20 km when the final phase of rendezvous starts. The algorithm uses equations of motion that are transformed into a co-rotating frame in which the target position is fixed. The resulting equations are known as the Hill-Clohessy-Wiltshire equations as described in e.g. Curtis Orbit Mechanics for Engineering Students.

The relative motion framework determines the maneuver required to get to any position with respect to the target. In rendezvous scenarios a cautious approach is taken where the interceptor performs maneuvers that move it progressively closer to the station. This allows the final maneuvers on approach to be smaller and ensures that if the maneuver fails there is time for avoidance measures to be taken. Typically there are two types of rendezvous employed: a rendezvous where the interceptor moves through a series of positions at the same radius as the target (V-bar) or where it uses progressive positions at the same phase but different radii (R-bar). The relative motion framework in GE allows the arrival point with respect to the target to be specified, so both V-bar and R-bar approaches can be simulated. The option to move directly to the target and stop with a single burn is also an option.

The RelativeMotion class is not directly added to an intercepting spaceship. This class is used by controllers in a scene to provide information of the interceptor and target in relative co-ordinates and to determine maneuvers for rendezvous computed using the local motion equations. Examples of the use of this class can be found in the TPIBurn.cs script (Demos/Scenes/TPI-RelativeMotion/LunarTPI) and the RelativeXferController.cs (Demos/Scenes/TPI-RelativeMotion/RelativeMotion).

The RelativeMotion constructor requires references to the NBody objects in the scene involved in relative motion:

public RelativeMotion(NBody ship, NBody target, NBody planet)

A relative motion transfer can then be determined by using the API:

public void ComputeRendezvous(double time, bool targetAngleAlign) 

The time parameter specifies the length of time until the rendezvous. The targetAngleAlign flag is used in a special rendezvous case known as trigger angle targeting. This is discussed below.

The maneuvers required for the rendezvous are retrieved with:

public List GetManeuvers()

and these can then be issued to GE via ge.AddManeuvers().

A typical plot of the final phase of rendezvous is commonly displayed in a view centered on the target. For example:

GE provides support routines to facilitate a fixed target view of the rendezvous. The LVLHViewer component takes references to the target and interceptor nbody objects and then moves markers for each object in the reference frame centered on the target marker. A camera pointing at these markers will then provide a relative motion view of the rendezvous. A trail renderer on the ship marker provides the path seen in the figure above.

Note that relative motion rendezvous relies on approximate rendezvous equations and the final position may not exactly match the requested final position since GE will update based on the exact evolution of the gravitational forces.

Trigger Angle Targeting

The main motivation for adding the relative motion framework to GE was to allow the modeling of a technique used in the Gemini and Apollo programs called trigger angle targeting. In this approach the burn used for rendezvous is constrained to be in the direction of the target when the target reaches a specific angle above the local horizon of the interceptor. This “point and burn” approach allows for a simple manual procedure if communication is lost with the ground, or the automation fails.

GE provides a means for determining the required target angle for a trigger angle burn to establish rendezvous. The scene LunarTPI models the target angle used in the Apollo 11 lunar rendezvous. The core logic for this scene is in the TPIBurn component. This controller operates as follows:

  1. Determines the trigger angle required to establish the rendezvous in the time it takes the CSM to move through the phase angle defined in the TransferAngle inspector parameter.
  2. Configures a GE trigger to continuously check this condition as the scene plays. The code in the trigger AngleTrigger makes use of a RelativeMotion class initialized by TPIBurn to determine the current trigger angle.
  3. When the AngleTrigger detects the trigger angle it performs the relativeMotion.ComputeTransfer, gets the maneuvers and adds the maneuvers to GE. This initiates the transfer.
  4. The transfer can terminate in one of two ways based on the state of the UseBraking flag in the TPIBurn inspector. If not set, the normal arrival maneuver from RelativeMotion will be used. If set, a series of braking burns will applied as the LM gets closer to the CSM. These burns match those used in the Apollo 11 terminal phase rendezvous. These braking burns are managed by another GETrigger TPIBurn.BrakingTrigger.