Differential Corrector Profile
The differential corrector profile targets specific values - defined as independent variables. The target sequence will change the value of independent variables as needed to achieve the goal defined by the dependent variables, utilizing a differential correction algorithm. The differential corrector is comprised of six tabs:
Variables
Selecting Independent and Dependent Variables
appearing
adjacent to it. To select a given element as an independent variable, simply
click the associated target icon. Your selection will be confirmed by the appearance
of a check mark over the icon. If you change your mind, click the icon again;
the check mark will disappear. You can select independent variables in more
than one nested segment and, in each, you can select as many independent variables
as you wish. Plugins publish their inputs to Astrogator, so that you
can also select these inputs as independent variables. To target a given input,
it may be necessary to double-click it to expose the window for editing its value. The target icon will appear in that window next
to the editable field.
If the "Restore nominal values as soon as target sequence completes" MCS Option is selected and an element of a linked component is selected as an independent variable, the changed value that is produced will only be applied to subsequent segments nested within the same target sequence. Segments that are outside of the target sequence will use the value that the element held at the beginning of the MCS. If you apply corrections after running the MCS, then on the next run all segments within the MCS will use the value produced by the target sequence.
Dependent variables are defined in terms of Astrogator's extensive repertoire of Calculation Objects (to which you can add). To select dependent variables for a given nested MCS segment, click Results.... This will bring up the User-Selected Results window for that segment. Here, Calculation Objects are selected for dependent variable definition, but the manner in which they will be used is specified in the setup of the differential corrector, discussed below.
The sections below describe the definition of independent and dependent variables:
Defining Independent Variables (Control Parameters)
Each independent variable that you have selected is listed in the Control Parameters section of the Variables tab, along with the following information:
- Use -- If the box is checked, the variable is being used.
- Name -- The name of the element selected as an independent variable.
- Final Value -- The value of the independent variable after the last targeter run.
- Last Update -- The amount by which the value of the independent variable changed during the last targeter run.
- Object -- The segment or component to which the element belongs.
- Custom Display Unit -- Select to use a unit other than the default when displaying results in the status window, log file, and graphs.
- Display Unit -- The unit to be displayed if the Custom Display Unit option has been selected.
Graphs cannot display DMS or HMS angle units and will use the scenario unit instead
If you have multiple independent variables, select the Hide Inactive field to hide independent variables that are not currently selected for use.
The following fields, some of which can be edited, appear below the Control Parameters list:
Defining Dependent Variables (Equality Constraints)
Each dependent variable that you have selected is listed in the Equality Constraints (Results) section of the Variables tab, along with the following information:
- Use -- If the box is checked, the variable is being used.
- Name -- The name of the Calculation Object used as a dependent variable.
- Desired Value -- The desired value for this dependent variable. You can paste a value into this field by right-clicking it and selecting the Paste command that appears.
- Current Value -- The value achieved for this dependent variable in the last targeter run. You can copy the value in this field by right-clicking it and selecting the Copy command that appears.
- Object -- The segment or component for which this dependent variable has been selected.
- Custom Display Unit -- Select to use a unit other than the default when displaying results in the status window, log file, and graphs.
- Display Unit -- The unit to be displayed if the Custom Display Unit option has been selected.
Graphs cannot display DMS or HMS angle units and will use the scenario unit instead
If you have multiple dependent variables, select the Hide Inactive field to hide dependent variables that are not currently selected for use.
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 this dependent variable. |
Tolerance | Specify how close the targeter should come to the desired value before stopping. |
Scaling Method | Select among:
|
Value | Enter a scale value if Scaling Method has been set to By specified value. |
Weight | The factor by which the constraint error is to be multiplied. This is used to emphasize/de-emphasize the importance of one constraint relative to the others. |
Convergence
Convergence criteria and related parameters are specified on the Convergence tab for each differential corrector profile:
Field | Description |
---|---|
Maximum Iterations | The number of complete iterations of the profile to try before stopping. |
Display Status | Select this option to have a window appear during the targeting run to report the status of the targeting effort in terms of proximity to the desired value for each dependent variable in the profile. Click ![]() |
Status | This read-only field provides profile-specific status information. |
Convergence Criteria | Select between:
|
Advanced Options
The Advanced page for the differential corrector profile provides several additional configuration options:
Root-Finding Algorithm
Option | Description |
---|---|
Method | Select the desired root-finding method. 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 and therefore usually converges faster than the Newton-Raphson method. |
Derivative Calculation Method | Select among:
|
Line Search
Select Use to perform a line search. On each iteration, after the differential corrector computes a step, a search will be performed along the direction of the step. The line search uses quadratic approximations to minimize the difference between the results 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 controls. The value in the Tolerance field is used when computing whether a minimum has been reached. The Maximum Iterations option specifies the maximum number of times that the line search will run the target sequence.
The line search causes extra evaluations to be made on each iteration and therefore may slow down convergence, especially when used with the Secant method. It may be useful in cases where the targeter is having trouble converging, however; for example, if the targeter is entering a limit cycle. Because the line search will not go beyond the maximum step of each control, large values of max step should be used when the line search is selected to increase its efficiency.
Homotopy
Select Use to use homotopy, which divides the targeting problem into a number of stages specified in the Number Of Steps field. Each stage attempts to reach values of the equality constraint that are 1/nth (n being the number of steps specified) of the way between the initial values of the constraints and the desired values of the constraints.
Homotopy may be useful in cases where the targeting problem is highly nonlinear and the initial guess of the control values is not close to the solution. In these cases it may be easier to move the control values toward the solution in stages, rather than trying to solve the problem in one stage.
Other
Option | Description |
---|---|
Corrections - Clear Before Each Run | When this option is selected, the differential corrector is automatically reset each time that it is run, discarding information that was computed the last time it was run. |
Stop Targeting on Limit Cycle Detection |
When this option is selected, the differential corrector will stop iterating when it detects a limit cycle; i.e., if all of the independent variables are the same as they were two iterations earlier. There are two conditions that will qualify as a limit cycle:
|
Output
Option | Description |
---|---|
Update B-Planes for nominal run on all iterations. | Select to have Astrogator update the display of B-Planes for the nominal run of each iteration during the targeting process. |
Update B-Planes for perturbations on all iterations. | Select to have Astrogator update the display of B-Planes for both of the perturbations of each iteration during the targeting process. |
Draw perturbations in |
Define the display of perturbations in the 2D and 3D Graphics windows, if you have set Astrogator to draw while calculating. Select among:
|
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 allows you to define a variety of graphs of the Differential Corrector's performance that can be generated manually when desired or automatically whenever the MCS is run. The tab is divided into two general areas - a table that displays the graphs that have been assigned to the profile and the collection of properties that define the graph that is currently selected in the table.
Graphs Table
You can add, copy, delete and perform other actions on graphs by right-clicking in the table that lists them or by using the following toolbar buttons:
Button | Name | Function |
---|---|---|
![]() |
New... | Inserts a new graph with default properties settings. |
![]() |
Cut | Removes the currently selected graph from the list and copies it to the clipboard. |
![]() |
Copy | Makes a copy of the currently selected graph to the clipboard. |
![]() |
Paste | Inserts a copy of the graph that is currently on the clipboard. |
![]() |
Delete | Deletes the currently selected graph. |
The graphs table displays the following information for each graph:
- Name -- The name given by the user to the graph or, if one was not given, the default name.
- Generate on run -- Select to have Astrogator generate the graph automatically each time that the MCS is run.
- User Comment -- a description of the graph supplied by the user or, if one was not supplied, a default description.
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 one of the active Controls or Results, you can select Label Iterations to have each of the points on the graph labeled according to its iteration number. If the X axis is one of the active Results, you can select Show Desired Value to display the goal for that result and Show Tolerance Band to display the tolerance for the desired value in the graph.
The active Controls defined for the profile are listed in a table that you can use to specify their display characteristics in the graph:
- Name -- The name of the element selected as a control.
- Object -- The segment or component to which the element belongs.
- Graph Value -- Select to include the value in the graph.
- Line Color -- The color of line that will be used to represent the control's value in the graph.
- Point Style -- The style of marker that will be used to represent iteration points along the control's line in the graph.
- 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 that you can use to specify their display characteristics in the graph:
- Name -- The name of the Calculation Object used as a result.
- Object -- The segment or component for which this result has been selected.
- Graph Option -- Select Don't graph to leave the result out of the graph, Graph difference to use the difference between the result's value and the desired value in the graph, or Graph value to use the result's value in the graph.
- Show Desired Value -- Select to display the result's desired value in the graph.
- Line Color -- The color of line that will be used to represent the result's value in the graph.
- Point Style -- The style of marker that will be used to represent iteration points along the result's line in the graph.
- Y Axis -- Select Y1 or Y2 to display a range of values suitable to the result on the left or right side, respectively, of the graph.
- Show Tolerance Band -- Select to display the tolerance for the result's desired value in the graph.
Click Generate Graph to produce the currently 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. A script entered here will be executed before the sequence is run. The script will be executed each time that the profile runs the sequence. Parameters that are defined in the Scripting Tool are available for use as controls by the differential corrector profile.