Module: star_tracker

Sensor model to simulate a Star Tracker.

The module PDF Description contains further information on this module’s function, how to run it, as well as testing. The corruption types are outlined in this PDF Description.


class StarTracker : public SysModel

Public Functions

StarTracker()
~StarTracker()
bool LinkMessages()
void UpdateState(uint64_t CurrentSimNanos)
void SelfInit()
void CrossInit()
void readInputMessages()
void writeOutputMessages(uint64_t Clock)
void computeSensorErrors()
void applySensorErrors()
void computeTrueOutput()
void computeQuaternion(double *sigma, STSensorIntMsg *sensorValue)

Public Members

uint64_t sensorTimeTag

[ns] Current time tag for sensor out

std::string inputStateMessage

[-] String for the input state message

std::string outputStateMessage

[-] String for the output state message

bool messagesLinked

[-] Indicator for whether inputs bound

Eigen::Matrix3d PMatrix

[-] Covariance matrix used to perturb state

Eigen::Vector3d walkBounds

[-] “3-sigma” errors to permit for states

Eigen::Vector3d navErrors

[-] Current navigation errors applied to truth

uint64_t OutputBufferCount

[-] Count on the number of output message buffers

double dcm_CB[3][3]

[-] Transformation matrix from body to case

STSensorIntMsg trueValues

[-] total measurement without perturbations

STSensorIntMsg sensedValues

[-] total measurement including perturbations

double mrpErrors[3]

[-] Errors to be applied to the input MRP set indicating whether

SCPlusStatesSimMsg scState

[-] Module variable where the input State Data message is stored

BSKLogger bskLogger

BSK Logging

Private Members

Eigen::Matrix3d AMatrix

[-] AMatrix that we use for error propagation

int64_t inputStateID

[-] Connection to input state message

int64_t outputStateID

[-] Connection to outgoing state message

GaussMarkov errorModel

[-] Gauss-markov error states