WsfTargetManeuver

WsfTargetManeuver inherits WsfOrbitalManeuver

Input type: target

WsfTargetManeuver is used to attempt to intercept the location of a local track. The maneuver is complete when the computed intercept transfer orbit is achieved. Several conditions must be met before the maneuver can succeed:

  • The track id 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 optimize 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.

Optimize Option

An argument to the first Construct method must contain one of the following options:

int EARLIEST_TIME()

Attempt to optimize the maneuver such that it will execute at the earliest possible time, up to the maximum time specified in the Construct method.

int LEAST_DELTA_V()

Attempt to optimize the maneuver such that it will execute with the least possible delta-v, up to the maximum specified in the Construct method, or the current available amount, whichever is less. Optimization will proceed up to the the maximum time specified in the Construct method.

Methods

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

Create a WsfTargetManeuver with the intent of finding an optimal solution in delta-v or time, using the following:

  • aCondition: A specific condition.

  • aTargetPoint: A WsfTargetPoint specifying the target of this maneuver.

  • aOptimizeOption: The return value from an optimize option listed above.

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

  • aMaximumDeltaV: The maximum delta-V to consider when computing a solution.

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

Create a WsfTargetManeuver that will find a solution that minimizes the provided cost, using the following:

  • aCondition: A specific condition.

  • aTargetPoint: A WsfTargetPoint instance specifying the target of this maneuver.

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

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

  • aMaximumDeltaV: The maximum delta-V to consider when computing a solution.

static WsfTargetManeuver Construct(WsfOrbitalEventCondition aCondition, WsfTargetPoint aTargetPoint, double aDeltaTime)

Create a WsfTargetManeuver without optimizing. If all prerequisite conditions are met, the intercept will occur at the specified time after the current time when executed.

  • aCondition: A specific condition

  • aTargetPoint: A WsfTargetPoint specifying the target of this maneuver.

  • aDeltaTime: The time after the maneuver begins when the rendezvous is planned to occur.

WsfTargetPoint TargetPoint()

Get the WsfTargetPoint used to configure this maneuver.

double Tolerance()

Get the solution tolerance to use with this maneuver. The default value is 1.0e-9.

void SetTolerance(double aTolerance)

Set the solution tolerance for this maneuver to the given value.