Relative Motion Orbit Wizard

Top  Previous  Next

Using the Relative Motion Orbit Wizard allows you to quickly configure the orbit state for a secondary Spacecraft with respect to a primary Spacecraft to create an orbit in one of the following orbit types:

 

Circular (Spacecraft.OrbitWizardRelativeMotionCircular())

In-Plane (Spacecraft.OrbitWizardRelativeMotionInPlane())

In-Track (Spacecraft.OrbitWizardRelativeMotionInTrack())

Projected Circular (Spacecraft.OrbitWizardRelativeMotionProjectedCircular())

Safety Ellipse (Spacecraft.OrbitWizardRelativeMotionSafetyEllipse())

 

Note: The Relative Motion Orbit Wizard is only accessible in the FreeFlyer scripting language.

 

 

Using the Relative Motion Orbit Wizard


The examples below show how to use the Relative Motion Orbit Wizard. In order to accurately model relative motion using the Relative Motion Orbit Wizard, the two Spacecraft should use similar propagator dynamics otherwise the differences in force will influence the relative motion orbit.  Each relative motion orbit type is configured using a different method of the Spacecraft object.

 

// Set up a radial Circular Relative Motion orbit

Spacecraft2.OrbitWizardRelativeMotionCircular(Spacecraft1, radius, initialPhaseAngle, inclinationAngle);

 

// Set up a In-Plane Relative Motion orbit

Spacecraft2.OrbitWizardRelativeMotionInPlane(Spacecraft1, alongtrackSeparation);

 

// Set up a In-Track Relative Motion orbit

Spacecraft2.OrbitWizardRelativeMotionInTrack(Spacecraft1, alongtrackSeparation);

 

// Set up a Projected Circular Relative Motion orbit

Spacecraft2.OrbitWizardRelativeMotionProjectedCircular(Spacecraft1, radius, initialPhaseAngle, inclinationAngle);

 

// Set up a Safety Ellipse Relative Motion orbit

Spacecraft2.OrbitWizardRelativeMotionSafetyEllipse(Spacecraft1, radialMagnitude, crosstrackMaxDistance, centerOfEllipseInTrack, centerOfEllipseRateInTrack, radialPhaseAngle);

 

 

Example: Using HCW Relative Motion Orbit Wizard


In this example, the HCW equations are used to propagate a secondary Spacecraft that had its orbit configured using the RelativeMotionUtilities object. The secondary Spacecraft is configured to orbit the primary Spacecraft in a Safety Ellipse over a four hour period. The image below the example shows a Safety Ellipse orbit configured using the RelativeMotionUtilities object.

 

Spacecraft primarySC;

Spacecraft secondarySC;

 

// Set the Primary Spacecraft to use a TwoBody propagator

primarySC.SetPropagatorType(TypeOf(TwoBody));

 

// Set the Secondary Spacecraft HCW propagator and Reference Orbit

secondarySC.SetPropagatorType(TypeOf(HCW));

(secondarySC.Propagator AsType HCW).SetReferenceOrbit(primarySC);

 

// Configure secondary Spacecraft orbit using Relative Motion Orbit Wizard

secondarySC.OrbitWizardRelativeMotionSafetyEllipse(primarySC, 0.5, 0.5, -1, 0.0001, 25);

 

// Propagate using HCW Relative Moiton equations for 4 hours

While (primarySC.ElapsedTime < TimeSpan.FromHours(4));

 

      Step primarySC;

      Step secondarySC to (secondarySC.Epoch == primarySC.Epoch);

 

End;

 

Relative Motion Safety Ellipse Orbit Wizard

Relative Motion Safety Ellipse Orbit Wizard

 

 

See Also


HCW Propagation

Spacecraft Propagation