You can configure the Orbit Determination Properties for any Spacecraft through FreeFlyer script or the Object Browser. There are two ways to navigate to the "General" page under the Orbit Determination section of the Spacecraft object editor:
1.Open the desired Spacecraft's editor and navigate to the General page under Orbit Determination
2.Highlight the desired Spacecraft on the "Objects to Process" page of a Kalman Filter, Square Root Information Filter, Unscented Kalman Filter, or Batch Least Squares object editor and click the "Modify Spacecraft Estimation Options" button
From this page, you can configure any of these options:
•The Spacecraft properties that you want to ignore, estimate, or consider
oIgnore: Leave the property out of the estimated state.
oEstimate: Include the property in the estimated state and allow the estimator to update its value.
oConsider: Include the property in the estimated state, but do NOT allow the estimator to update its value. This means that the property gets included in the covariance, but is not directly estimated.
•The element set to use when estimating the orbit state (see below for more information on setting the element set to process)
•The Sigma and Process Noise for each of the properties
•The model for propagating the Covariance. See Covariance Propagation and Visualization for more information
Spacecraft OD Properties
To define the Spacecraft properties that you want to estimate or consider via FreeFlyer script, you will access the Spacecraft's OD properties, as shown in the example below:
// Properties to Estimate
EstimatedSC.OD.Cartesian.X.ProcessAction = 1;
EstimatedSC.OD.Cartesian.Y.ProcessAction = 1;
EstimatedSC.OD.Cartesian.Z.ProcessAction = 1;
EstimatedSC.OD.Cartesian.VX.ProcessAction = 1;
EstimatedSC.OD.Cartesian.VY.ProcessAction = 1;
EstimatedSC.OD.Cartesian.VZ.ProcessAction = 1;
// Properties to Consider
EstimatedSC.OD.Cd.ProcessAction = 2;
EstimatedSC.OD.Cr.ProcessAction = 2;
// Properties to Ignore
EstimatedSC.OD.OtherAccelerationsX.ProcessAction = 0;
EstimatedSC.OD.OtherAccelerationsY.ProcessAction = 0;
EstimatedSC.OD.OtherAccelerationsZ.ProcessAction = 0;
Instead of specifying the Cartesian position and velocity ProcessAction flags on a component-by-component basis, you can use the alternate syntax shown below to accomplish the same thing in fewer lines:
// Properties to Estimate
EstimatedSC.OD.Cartesian.PositionProcessAction = 1;
EstimatedSC.OD.Cartesian.VelocityProcessAction = 1;
EstimatedSC.OD.Cartesian.ProcessAction = 1;
Defining the Element Set to Process
By default, FreeFlyer assumes orbit states should be estimated in Cartesian elements. You can change the element set to use when estimating the orbit state by using the Spacecraft.OD.SetElementSetToProcess method. If you are unsure of which element set is being used, you can access the read-only ElementSetToProcess property. The element sets available are:
When changing element sets, a covariance conversion is most often necessary. You can use the Covariance.GetOrbitStateCovarianceInElementSet method to obtain the covariance in a specified element set, converting from the current element set defined by the ElementSetToProcess property. If the element set of the covariance does not need to be converted, you can access the Covariance.Matrix property directly. Below is an example of initializing a Spacecraft using the Equinoctial element set:
// Define the covariance using Equinoctial elements.
// Provide a flag indicating whether to convert the covariance matrix from the initialized element set.
EstimatedSC.OD.SetElementSetToProcess("Equinoctial", 1); // 1 = Convert from active set
// Get the covariance of the orbit state in the specified element set.
myCovMatrix = EstimatedSC.OD.Covariance.GetOrbitStateCovarianceInElementSet("Cartesian");
For information on configuring OD subsystems on a Spacecraft, see:
Once the Spacecraft has been configured, it can be used as an observing object or object being observed when simulating tracking data or including tracking data in an estimation process.