Differential Corrector Profile

The differential corrector profile uses a differential correction algorithm to achieve a goal value or set of values. The values that the profile targets are called independent variables. The values that define the goal of the profile are called dependent variables. When the target sequence runs, it will change the values of the independent variables to achieve the goal.

The differential corrector dialog box comprises six tabs:

Variables

There are two types of variables in a differential corrector profile:

  • Control Parameters (independent variables)
  • Equality Constraints (dependent variables)

The control parameters and equality constraints that are selected for the target sequence are displayed on the Variables tab. Double-click a property of a control parameter or result to edit its value.

Control parameters (independent variables)

Any element of a nested MCS segment or linked component that you can use as an independent variable is marked by a target icon, . To select an element as an independent variable, click its target icon. A check mark appears over the target. Click the target again to clear the selection of that element.

You can select independent variables in multiple nested segments. In each segment, you can select as many independent variables as you want. Plugins publish their inputs to Astrogator, so you can also select these inputs as independent variables. To target an input, you may need to double-click it to open its properties dialog box. The target icon will be displayed next to any field that you can select.

The Restore nominal values as soon as target sequence completes MCS Option isolates changes in value. If the independent variable is an element of a linked component, this option has an important effect. Astrogator will only apply the changed value of the element to subsequent segments within the same target sequence. Segments that are outside the target sequence will use the value of the element at the beginning of the MCS. If you apply corrections after running the MCS, then on the next run all segments in the MCS will use the value produced by the target sequence.

Each independent variable that you select is listed in the Control Parameters section of the Variables tab, with the following information:

  • Use - Select this option to enable the element as a control parameter.
  • Name - The name of the element.
  • Final Value - The value of the element after the last targeter run.
  • Last Update - The amount by which the value of the element changed during the last targeter run.
  • Object - The segment or component that the element belongs to.
  • Custom Display Unit - Select this option to use a custom unit for the element in the status window and graphs.
  • Display Unit - The unit to be displayed if you have selected Custom Display Unit.
  • Graphs cannot display DMS or HMS angle units and will use the scenario unit instead

If you have multiple independent variables, select Hide Inactive to hide the element that are not selected.

The following fields, some of which can be edited, appear below the Control Parameters list:

Field Description
Initial Value The nominal value of the selected element.
Correction The amount by which the nominal value of the parameter should be corrected to achieve the selected goals.
Tolerance The smallest update to the parameter to be made before the targeter stops. This property is available if the convergence criteria is set to "Either equality constraints or last control parameter updates within tolerance".
Perturbation The value that you want the profile to use in calculating numerical derivatives.
Max Step The maximum increment to the value of the parameter in a step.
Scaling Method

Scaling improves numerical behavior if the profile's enabled parameters have diverse magnitudes.

Select a method from the menu:

  • By initial value
  • By one (no scaling)
  • By specified value.
  • By tolerance
Scaling Value If you have selected the By specified value option in the Scaling Method field, enter the value that you want to use in this field.

Dependent variables (equality constraints)

Dependent variables are defined in terms of Calculation Objects. To select dependent variables for a nested MCS segment, select the segment and then click Results.... In the User-Selected Results dialog box, select the Calculation Objects to use.

Each dependent variable that you select is listed in the Equality Constraints (Results) section of the Variables tab, with the following information:

  • Use - Select this option to enable the element as a variable.
  • Name - The name of the element .
  • Desired Value - The value that you want to achieve. To paste a value into this field, right-click on it and select Paste.
  • Current Value - The element's final value from the last run of the profile. If the profile has not run, this value is the same as the initial value. You can copy the value in this field to the clipboard by right-clicking it and selecting Copy.
  • Object - The segment or component that this element belongs to.
  • Custom Display Unit - Select this option to use a custom unit for the element in the status window and graphs.
  • Display Unit - The unit to be displayed if you have selected Custom Display Unit.
  • Graphs cannot display DMS or HMS angle units and will use the scenario unit instead

If you have multiple dependent variables, select Hide Inactive to hide the element that are not selected.

The following fields, some of which can be edited, appear below the Equality Constraints list:

Field Description
Difference The difference between the current and desired value for the selected element.
Tolerance The profile will stop when it achieves a value within this range of the Desired Value.
Scaling Method

The scaling method improves numerical behavior if the enabled parameters have diverse magnitudes.

Select a method from the menu:

  • By initial value
  • By one (no scaling)
  • By specified value.
  • By tolerance
Value Enter a scale value if Scaling Method has been set to By specified value.
Weight The constraint error will be multiplied by this factor. You can use this factor to emphasize or diminish the importance of one element relative to the others.

Convergence

Use the Convergence tab to specify convergence criteria and related parameters for the profile. The following table describes the properties on this tab.

Field Description
Maximum Iterations This property defines the maximum number of evaluations that the profile will execute. If the profile does not reach the Desired Value, it will stop after the last iteration. The iteration count includes steps taken while searching for bounds as well as bisection iterations.
Display Status Select this option Astrogator to diplay a status window during the targeting run. The window will report the status of the targeting effort - as the proximity to the desired value - for each dependent variable in the profile. Click in the status window's title bar to manage its display.
Status This field displays the status of the profile after the most recent targeter run.
Convergence Criteria This property defines the criteria that you want to use to decide if the profile converged or not. Select an option from the menu:
  • Equality Constraints Satisfied - the differences between the achieved and desired equality constraint values must be within the tolerances.
  • Equality Constraints Satisfied or Parameter Variations within Tolerance - either the differences between the achieved and desired equality constraint values must be within the tolerances, or the last updates to the control parameters must be within the tolerances.

Advanced Options

The Advanced tab of the differential corrector profile comprises several sets of specialized configuration options.

Select Clear Corrections Before Each Run to reset the profile's control parameters each time that Astrogator runs it. The profile will discard information that was computed the last time it was run.

Select Stop Targeting on Limit Cycle Detection to stop iterating when the profile detects a limit cycle. There are two conditions that will qualify as a limit cycle:

  1. If all the independent variables are the same as they were two iterations earlier.
  2. If some of the independent variables are the same as they were two iterations earlier and the results are not improving.

Root-Finding Algorithm

You can specify the root-finding method that you want the profile to use. The Newton-Raphson method evaluates perturbations with every iteration. The default method is the Secant method, which does not evaluate perturbations after the first iteration. The Secant method usually converges faster than the Newton-Raphson method.

You can also specify the Derivative Calculation Method that you want the profile to use. The options that you can select from the menu are described in the following table.

Option Description
Central Difference (f(x + ) - f(x - )) / 2
Forward Difference (f(x + ) - f(x))/
Signed Difference If x is positive, use the forward difference; otherwise use the backward difference.

Line Search

Select Use to perform a line search. Each iteration, after the profile computes a step, Astrogator searches along the direction of the step. The line search uses quadratic approximations to minimize the difference between the equality constraints and their desired values along this line. The Upper Bound and Lower Bound fields specify limits on the search along the line. These values are unitless and act as multipliers on the original step, where 0 is the previous iteration and 1 is the original step. The search will not go beyond the maximum step for any of the control parameters. The value in the Tolerance field is used when computing whether a minimum has been reached. The Maximum Iterations field specifies the maximum number of times that the line search will run the target sequence.

A line search can be useful if the targeter is having trouble converging; for example, if the targeter is entering a limit cycle. But, a line search may slow down convergence because the profile performs more evaluations than normal on each iteration. Slower performance is especially likely when you use a line search with the Secant method. Line search efficiency is also sensitive to the step sizes of the control parameters. A line search is constrained by the maximum step of each control. To improve efficiency, you should avoid large Max Step values.

Homotopy

You may find Homotopy useful if the targeting problem is extraordinarily nonlinear and the initial guess of the control values is far from the solution. Under such conditions, it may be easier to move the control values toward the solution in stages rather than trying to solve the problem whole.

Select Use to divide the targeting problem into stages. In the Number Of Steps field, specify how many stages you want to use. Each stage attempts to reach values of the equality constraints that are 1/nth (where n is the number of stages) of the way between their initial values and their desired values.

Output

The output pane comprises options that affect the output of the profile.

B-Planes

Select Update B-Planes for nominal run on all iterations if you want Astrogator to update the display of B-Planes for the nominal run of each iteration.

Select Update B-Planes for perturbations on all iterations if you want Astrogator to update the display of B-Planes for both of the perturbations of each iteration.

You can control the display of perturbations in the 2D and 3D graphics windows from the Draw perturbations in: menu. The options are defined in the following table.

Option Description
Don't Draw Perturbations will not be drawn, which may decrease the run time of the target sequence.
Segment Color Perturbations will be displayed in the trajectory color of the individual segments within the target sequence.
Targeter Color Perturbations will be displayed in the trajectory color of the target sequence.

Targeter Log

The Log tab contains a log of each iteration for previous runs of the differential corrector, with the following information on each listed run:

  • Run
  • Status
  • Iterations
  • Cost
  • Start Time
  • Elapsed Time

Cost is a simple cost function computed as the square root of the sum of the squares of the scaled differences between the achieved and desired values of the equality constraints.

Buttons with +/- symbols let you expand or collapse the display of each run and, within a given run, each iteration, with values for Control Parameters and Equality Constraints displayed.

Buttons at the bottom of the tab offer the following options:

  • Delete Run -- deletes the selected run information from the log.
  • Restore Iteration -- restores the selected iteration initial control parameter values to the mission control sequence and the total corrections to the differential corrector.
  • Clear Log -- deletes all of the run information from the log.

The Maximum Number of Runs to Keep in the Log field helps prevent the log file from growing too large. Its default value is 25.

This log is only generated if Enable Logging has been selected in the MCS Options window and for one or more Target Sequences. It is unrelated to the log file that is displayed by the button in the MCS toolbar.

Graphs

The Graphs tab comprises controls that you can use to create and view graphs of the profile's performance. The upper pane contains a table of the graphs defined for the profile. The Graph Properties pane displays the collection of properties that you can use to define each graph. Select a graph in the table in the upper pane to view and define its properties here.

Graphs table

Using the toolbar, you can create new graphs or cut, copy, paste, or delete them.

Button Name Function
New... Insert a new graph with default properties settings.
Cut Move the selected graph from the list to the clipboard.
Copy Copy the selected graph to the clipboard.
Paste Insert a copy of the graph that is on the clipboard.
Delete Delete the selected graph.

The graphs table displays the name and description of each graph. Select Generate on run if you want Astrogator to generate the graph each time that it runs the MCS. You can right-click a graph to select the same commands that are available in the toolbar.

Graph properties

Each graph can display the values of any number of the active Controls and Results defined for the profile against an X axis of the number of iterations performed or any single active Control or Result defined for the profile.

The Independent variable field defines the X axis of the graph. If the X axis is an active Control or Result, select Label Iterations if you want to label the points on the graph by their iteration numbers. If the X axis is one of the active Results and the profile results have a DesiredValue property, you can select Show Desired Value to display its goal. Likewise, if the results have a Tolerance property, you can select Show Tolerance Band to display the tolerance for the Desired Value.

The active Controls defined for the profile are listed in a table. You can customize how they are displayed in the graph by directly clicking the property fields.

Property Field Description
Name This is the name of the element within the object.
Object Identifies the segment or component that the element belongs to.
Graph Value Select this option to include the value.
Line Color The color of line that will be used to represent the control's value.
Point Style The style of marker used to represent iteration points along the control's line.
Y Axis Select Y1 or Y2 to display a range of values suitable to the control on the left or right side, respectively, of the graph.

The active Results defined for the profile are also listed in a table. You can customize how they are displayed in the graph by directly clicking the property fields.

Property Field Description
Name This is the name of the Calculation Object selected as a result item.
Object Identifies the segment or component that the result item belongs to.
Graph Option Select this option to include the value.
Show Desired Value If the result has a DesiredValue property, select this option to display the result's desired value.
Line Color The color of line that will be used to represent the control's value.
Point Style The style of marker used to represent iteration points along the control's line.
Y Axis Select Y1 or Y2 to display a range of values suitable to the control on the left or right side, respectively, of the graph.
Show Tolerance Band If the result has a Tolerance property, select this option to display the tolerance for the result's desired value.

Click Generate Graph to produce the selected graph. To produce a report of the graph data, click Generate Report.

Scripting

The Scripting tab contains an embedded instance of the Scripting Tool. If you enter a script here, Astrogator will execute it before running the sequence each time Astrogator runs the sequence. You can use parameters that are defined in the Scripting Tool as controls by the profile.