Top  Previous  Next


The Achieve command defines the goals of a targeting loop: the desired value and the allowable tolerance for a user-specified set of object properties. The Achieve command is evaluated wherever it is encountered in the targeting loop. For more detailed information, see the Targeting Guide.





      Iterate mySpacecraft;

      Vary myImpulsiveBurn.BurnDirection[0] = 0 + 0.001;

      Maneuver mySpacecraft using myImpulsiveBurn;

      Achieve mySpacecraft.A = 8000 +/- 2;

      Report myImpulsiveBurn.BurnDirection[0], mySpacecraft.A;




8000 is the goal value for mySpacecraft.A

2 is the tolerance value for mySpacecraft.A




The Achieve command can only be used inside a Target loop

At least one Achieve must be present in every Target loop.

An unlimited number of objects properties may be specified by the Achieve command in a single Target loop, but a separate Achieve command is required for each.

Achieve commands should not be placed inside If, For, or While loops inside the Target sequence.

The current values of the properties being achieved are evaluated wherever the Achieve command is encountered in the Target loop.

Any FreeFlyer object property can be specified by the Achieve command.

The Vary command specifies the object properties that are adjusted in a Target loop in order to meet the Achieve goals. As a best practice, a Target loop should have one Vary command for each Achieve command.

If the calculated property value is within the specified tolerance of the goal value for all the Achieve commands in a Target loop, the Target loop converges on the current solution.

The goal and tolerance values can be specified using numerical values or FreeFlyer object properties or expressions that evaluate to numbers.



Command Editor

Note: To add an Achieve command via Command Editor, you must start with a Target command, and edit the Choose Parameters To Target page.


Parameter to Achieve

Defines the goals of the Target loop


Goal Value

Desired value for the achieved parameter



Allowable offset from the goal value for the achieved parameter



Displays the FreeFlyer Script that is generated by the editor

The ellipsis (...) indicates that additional script can be added inside the loop



Displays descriptions of the editor and its fields

Description text changes as the mouse pointer moves over the different fields within the editor




See Also

Target Command

Vary Command

Iterate Command

DifferentialCorrector Properties and Methods

Targeting Guide