Module: simple_nav¶
Simple navigation model used to provide error-ed truth (or truth). This class is used to perturb the truth state away using a gauss-markov error model. It is designed to look like a random walk process put on top of the nominal position, velocity, attitude, and attitude rate. This is meant to be used in place of the nominal navigation system output.
The module
PDF Description
contains further information on this module’s function,
how to run it, as well as testing.
- 
class SimpleNav: public SysModel¶
- Public Functions - 
SimpleNav()¶
- This is the constructor for the simple nav model. It sets default variable values and initializes the various parts of the model 
 - 
~SimpleNav()¶
- Destructor. Nothing here. 
 - 
void SelfInit()¶
- This is the self-init routine for the simple navigation model. It initializes the various containers used in the model as well as creates the output message. The error states are allocated as follows: Total states: 18 - Position errors [0-2] 
- Velocity errors [3-5] 
- Attitude errors [6-8] 
- Body Rate errors [9-11] 
- Sun Point error [12-14] 
- Accumulated DV errors [15-17] - Return
- void 
 
 
 - 
void CrossInit()¶
- This method pulls the input message IDs from the messaging system. It will alert the user if either of them are not found in the messaging database - Return
- void 
 
 - 
void UpdateState(uint64_t CurrentSimNanos)¶
- This method calls all of the run-time operations for the simple nav model. - Return
- void 
- Parameters
- CurrentSimNanos: The clock time associated with the model call
 
 
 - 
void computeTrueOutput(uint64_t Clock)¶
- This method uses the input messages as well as the calculated model errors to compute what the output navigation state should be. - Return
- void 
- Parameters
- Clock: The clock time associated with the model’s update call
 
 
 - 
void computeErrors(uint64_t CurrentSimNanos)¶
- This method sets the propagation matrix and requests new random errors from its GaussMarkov model. - Return
- void 
- Parameters
- CurrentSimNanos: The clock time associated with the model call
 
 
 - 
void applyErrors()¶
 - 
void readInputMessages()¶
- This method reads the input messages associated with the vehicle state and the sun state 
 - 
void writeOutputMessages(uint64_t Clock)¶
- This method writes the aggregate nav information into the output state message. - Return
- void 
- Parameters
- Clock: The clock time associated with the model call
 
 
 - Public Members - 
uint64_t outputBufferCount¶
- Number of output state buffers in msg 
 - 
std::string inputStateName¶
- Message that contains s/c state 
 - 
std::string outputAttName¶
- Message that we output state to 
 - 
std::string outputTransName¶
- Message that we output state to 
 - 
std::string inputSunName¶
- Message name for the sun state 
 - 
bool crossTrans¶
- Have position error depend on velocity 
 - 
bool crossAtt¶
- Have attitude depend on attitude rate 
 - 
NavAttIntMsg trueAttState¶
- attitude nav state without errors 
 - 
NavAttIntMsg estAttState¶
- attitude nav state including errors 
 - 
NavTransIntMsg trueTransState¶
- translation nav state without errors 
 - 
NavTransIntMsg estTransState¶
- translation nav state including errors 
 - 
SCPlusStatesSimMsg inertialState¶
- input inertial state from Star Tracker 
 - 
SpicePlanetStateSimMsg sunState¶
- input Sun state 
 - Private Members - 
int64_t inputStateID¶
- Message ID associated with s/c state 
 - 
int64_t outputAttID¶
- Message ID associated with att-nav state 
 - 
int64_t outputTransID¶
- Message ID associated with trans-nav state 
 - 
int64_t inputSunID¶
- Message ID associated with the sun position 
 - 
GaussMarkov errorModel¶
- Gauss-markov error states 
 - 
uint64_t prevTime¶
- Previous simulation time observed 
 
-