Description
This module aims to generate attitude and position navigation estimates for an ADCS software chain without a more advanced state estimation software, e.g. Sunline EKF Navigation Software. It is intended to be a placeholder for an accurate navigation system, on a Spacecraft.
Example Use Cases
- Provide Truth State Information: In the absence of error models, this module provides an interface for delivering spacecraft state information to an ADCS software chain.
- Provide Representative State Estimations: With a correctly configured error model, this module can provide representative state information from a navigation computer to an ADCS software chain. This is particularly useful in determining pointing resilience in the presence of noisy information.
Module Implementation
Common “noise” present in real navigation systems may be considered a combination of white noise and random walks. For a variable of interest this can be written as:
where is the error applied to the standard model. This model uses the Guass-Markov
noise module to apply a bounded random walk with Gaussian noise to the parent spacecraft object’s actual position, velocity, attitude and attitude rate data as a perturbation. There are three steps for this calculation:
-
Collects the state information based on the subscribed
BodyStateMessage
.BodyStateMessage
they find in their parent hierarchy. In most cases, this will be theSpacecraft
. However, if this component is attached to a component, such as theHingedRigidBody
, that publishes its own inertial body states message, then it will subscribe to that. In addition, the module accepts an optionalSunStateMessage
. If a sun message is provided, the module will attempt to calculate the sun-pointing vector based on the true state of the parent object.By default, objects will register the first valid
-
The module then computes the propagation matrix required by the
Guass-Markov
model and components the navigation errors . Here, the propagation matrix is an matrix, with 1 on the diagonal and the following elements set as the step size on the following conditions- If
CrossTranslation
= true: Position error dependent on velocity - , , - If
CrossAttitude
= true: Attitude error dependent on attitude rate - , ,
- If
-
The computed navigation errors are applied to the truth data and published as navigation messages.
Assumptions/Limitations
- The primary assumption is that a
Guass-Markov
process can accurately model the measurement uncertainties of real sensors. Generally, this is a good approach during initial design and testing that can be refined based on specific knowledge about a system. The noise model is set up such that it can be replaced by the user.