WsfNaturalMotionCircumnavigation

WsfNaturalMotionCircumnavigation inherits WsfOrbitalManeuver

Input type: natural_motion_circumnavigation

WsfNaturalMotionCircumnavigation is used to place the executing platform, called the chaser, into a relative orbit around another platform, called the target or chief. The chaser will first transfer to the vicinity of the chief, and then insert into the natural motion circumnavigation. See Natural Motion Circumnavigation Details for details.

Several conditions must be met for the transfer orbit to be successful:

  • The target point must reference a valid WsfLocalTrack with both valid location and velocity;

  • The transfer orbit can only be hyperbolic if the mover executing the maneuver supports hyperbolic propagation;

  • The transfer orbit must not intersect earth;

  • When optimizing, a valid solution must exist for the provided optimization option;

  • The expended energy for the transfer must be less than the available delta-v.

    Note

    The targeting algorithm is direct (less than one orbit). Phasing orbits are not considered.

Methods

static WsfNaturalMotionCircumnavigation Construct(WsfOrbitalEventCondition aCondition, WsfTargetPoint aTargetPoint, int aOptimizeOption, double aMaximumDeltaTime, double aMaximumDeltaV, double aOrbitSize)

Create a WsfNaturalMotionCircumnavigation with the intent of finding an optimal transfer solution in delta-V or time, using the following:

  • aCondition: A specific WsfOrbitalEventCondition.

  • aTargetPoint: A WsfTargetPoint instance specifying the target of this maneuver. This target must be a track target, and should not specify any position or velocity offsets, offset time, or lag time.

  • aOptimizeOption: The return value from a WsfNaturalMotionCircumnavigation.EARLIEST_TIME or WsfNaturalMotionCircumnavigation.LEAST_DELTA_V.

  • aMaximumDeltaTime: The maximum time in seconds after the maneuver begins to consider in computing a solution.

  • aMaximumDeltaV: The maximum delta-V in meters per second to consider when computing a solution.

  • aOrbitSize: The size in meters of the semi-major-axis of the relative orbit of the chaser around the chief. The provided value must be greater than zero.

static WsfNaturalMotionCircumnavigation Construct(WsfOrbitalEventCondition aCondition, WsfTargetPoint aTargetPoint, WsfOrbitalOptimizationCost aCost, double aMaximumDeltaTime, double aMaximumDeltaV, double aOrbitSize)

Create a WsfNaturalMotionCircumnavigation with the intent of finding an transfer solution minimizing the provided cost function, using the following:

  • aCondition: A specific WsfOrbitalEventCondition.

  • aTargetPoint: A WsfTargetPoint instance specifying the target of this maneuver. This target must be a track target, and should not specify any position or velocity offsets, offset time, or lag time.

  • aCost: A WsfOrbitalOptimizationCost instance specifying the cost function to minimize.

  • aMaximumDeltaTime: The maximum time in seconds after the maneuver begins to consider in computing a solution.

  • aMaximumDeltaV: The maximum delta-V in meters per second to consider when computing a solution.

  • aOrbitSize: The size in meters of the semi-major-axis of the relative orbit of the chaser around the chief. The provided value must be greater than zero.

static WsfNaturalMotionCircumnavigation Construct(WsfOrbitalEventCondition aCondition, WsfTargetPoint aTargetPoint, double aDeltaTime, double aOrbitSize)

Create a WsfNaturalMotionCircumnavigation without optimizing the transfer. If all prerequisite conditions are met, the transfer will take the specified time to complete once the maneuver begins.

  • aCondition: A specific WsfOrbitalEventCondition

  • aTargetPoint: A WsfTargetPoint instance specifying the target of this maneuver. This target must be a track target, and should not specify any position or velocity offsets, offset time, or lag time.

  • aDeltaTime: The time after the maneuver begins when the transfer is planned to complete.

  • aOrbitSize: The size in meters of the semi-major-axis of the relative orbit of the chaser around the chief. The provided value must be greater than zero.

int EARLIEST_TIME()

Attempt to optimize the maneuver such that it will execute at the earliest possible time, up to delta-t and delta-V constraints provided during construction.

int LEAST_DELTA_V()

Attempt to optimize the maneuver such that it will execute with the least possible delta-v, up to delta-t and delta-V constraints provided during construction.

double OrbitSize()

Return the relative semi-major-axis in meters of the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details).

double OrbitPhase()

Return the phase of the insertion point in degrees for the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details). Unless WsfNaturalMotionCircumnavigation.SetOrbitPhase has been called on this object, this will return the default value of 0.

double OutOfPlaneAmplitude()

Return the out-of-plane amplitude in meters for the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details). Unless WsfNaturalMotionCircumnavigation.SetOutOfPlaneAmplitude has been called on this object, this will return the default value of 0.

double OutOfPlanePhase()

Return the out-of-plane phase in degrees for the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details). Unless WsfNaturalMotionCircumnavigation.SetOutOfPlanePhase has been called on this object, this will return the default value of 0.

void SetOrbitSize(double aOrbitSize)

Set the relative semi-major-axis in meters of the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details). The provided size must be greater than zero.

void SetOrbitPhase(double aOrbitPhase)

Set the phase of the insertion point in degrees for the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details).

void SetOutOfPlaneAmplitude(double aOutOfPlaneAmplitude)

Set the out-of-plane amplitude in meters for the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details). The provided value must be non-negative.

void SetOutOfPlanePhase(double aOutOfPlanePhase)

Set the out-of-plane phase in degrees for the resulting natural motion circumnavigation (see Natural Motion Circumnavigation Details).