Module: simpleVoltEstimator
Executive Summary
The Simple Voltage Estimator module is used to provide error-ed truth (or truth) spacecraft electric potentials, similar to the Module: simpleNav module that provides error-ed truth (or truth) spacecraft states. 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 spacecraft voltage. This is meant to be used in place of the nominal voltage output.
Message Connection Descriptions
The following table lists all the module input and output messages. The module msg connection is set by the user from python. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.
Msg Variable Name |
Msg Type |
Description |
---|---|---|
voltOutMsg |
spacecraft voltage output msg |
|
voltInMsg |
spacecraft voltage input msg |
User Guide
This module is set up similarly to the Module: simpleNav module. It is constructed using sVoltObject =
simpleVoltEstimator.SimpleVoltEstimator()
. The random walk bound is specified using sVoltObject.walkBounds
and
the standard deviation is specified using sVoltObject.PMatrix
. Note that the input for the walk bound and
standard deviation must be a list to work for the gauss_markov module.
If no walk bound or standard deviation is specified, then the voltage measurement will not be corrupted with noise.
-
class SimpleVoltEstimator : public SysModel
- #include <simpleVoltEstimator.h>
simple voltage estimation module class
Public Functions
-
SimpleVoltEstimator()
This is the constructor for the simple voltage estimator module. It sets default variable values and initializes the various parts of the model
-
~SimpleVoltEstimator()
Destructor. Nothing here.
-
void Reset(uint64_t CurrentSimNanos)
This method is used to reset the module. 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: 1
Voltage error [0]
- Returns:
void
-
void UpdateState(uint64_t CurrentSimNanos)
This method calls all of the run-time operations for the simpleVoltEstimator module.
- Parameters:
CurrentSimNanos – The clock time associated with the model call
- Returns:
void
-
void computeErrors()
This method sets the propagation matrix and requests new random errors from its GaussMarkov model.
- Returns:
void
-
void applyErrors()
-
void readInputMessages()
This method reads the input message associated with the spacecraft voltage
-
void writeOutputMessages(uint64_t Clock)
This method writes the voltage information into the output state message.
- Parameters:
Clock – The clock time associated with the model call
- Returns:
void
Public Members
-
Eigen::MatrixXd PMatrix
— Cholesky-decomposition or matrix square root of the covariance matrix to apply errors with
-
Eigen::VectorXd walkBounds
— “3-sigma” errors to permit for states
-
Eigen::VectorXd voltErrors
— Current voltage errors applied to truth
-
Message<VoltMsgPayload> voltOutMsg
voltage output msg
-
VoltMsgPayload trueVoltState
— voltage state without errors
-
VoltMsgPayload estVoltState
— voltage state including errors
-
BSKLogger bskLogger
— BSK Logging
-
ReadFunctor<VoltMsgPayload> voltInMsg
voltage input msg
Private Members
-
Eigen::MatrixXd AMatrix
— The matrix used to propagate the state
-
GaussMarkov errorModel
— Gauss-markov error states
-
SimpleVoltEstimator()