Most sensor modules apply corruption models documented in the Basilisk sensor corruption framework. Corruption types include Gaussian noise, bias, scale factor, saturation, and fault injection.
Attitude sensors
imuSensor
imuSensor
Simulates a three-axis Inertial Measurement Unit (IMU). The module computes delta-velocity and delta-angle outputs from spacecraft state truth, then applies configurable noise and bias.Messages
On the first simulation step the module outputs a zeroed message. IMU data is only available from the second step onwards.
| Message | Type | Direction | Description |
|---|---|---|---|
scStateInMsg | SCStatesMsgPayload | Input | Spacecraft state truth |
sensorOutMsg | IMUSensorMsgPayload | Output | IMU delta-velocity and delta-angle measurements |
starTracker
starTracker
Simulates a star tracker that measures the spacecraft inertial attitude as a quaternion. The module reads spacecraft attitude truth and applies configurable Gaussian noise.Messages
| Message | Type | Direction | Description |
|---|---|---|---|
scStateInMsg | SCStatesMsgPayload | Input | Spacecraft state truth |
sensorOutMsg | STSensorMsgPayload | Output | Measured quaternion attitude |
Sun sensors
coarseSunSensor
coarseSunSensor
Models a single Coarse Sun Sensor (CSS). The module outputs ADC counts proportional to the cosine of the angle between the sensor boresight and the sun direction, with a configurable field of view, noise, and saturation model.The module supports a companion
Messages
CSSConstellation class that aggregates multiple CSS units into a single array output message.Fault modes| Fault | Description |
|---|---|
CSSFAULT_OFF | Sensor output is permanently zero |
CSSFAULT_STUCK_CURRENT | Output stuck at the value from the previous step |
CSSFAULT_STUCK_MAX | Output stuck at the maximum value |
CSSFAULT_STUCK_RAND | Output stuck at a random value |
CSSFAULT_RAND | Output is random noise |
| Message | Type | Direction | Description |
|---|---|---|---|
sunInMsg | SpicePlanetStateMsgPayload | Input | Sun ephemeris |
stateInMsg | SCStatesMsgPayload | Input | Spacecraft state |
cssDataOutMsg | CSSRawDataMsgPayload | Output | CSS output counts |
cssConfigLogOutMsg | CSSConfigLogMsgPayload | Output | CSS configuration log |
sunEclipseInMsg | EclipseMsgPayload | Input (optional) | Eclipse state |
albedoInMsg | AlbedoMsgPayload | Input (optional) | Albedo contribution |
Magnetic sensors
magnetometer
magnetometer
Simulates a Three-Axis Magnetometer (TAM). The module transforms the truth magnetic field vector from the inertial frame into the sensor frame and applies Gaussian noise, bias, scale factor, and saturation.Fault modes
Messages
| Fault | Description |
|---|---|
MAG_FAULT_STUCK_CURRENT | Measurement freezes at the current value |
MAG_FAULT_STUCK_VALUE | Measurement sticks to a user-specified value |
MAG_FAULT_SPIKING | Measurement spikes with configurable probability and amplitude |
| Message | Type | Direction | Description |
|---|---|---|---|
stateInMsg | SCStatesMsgPayload | Input | Spacecraft state |
magInMsg | MagneticFieldMsgPayload | Input | Inertial magnetic field truth |
tamDataOutMsg | TAMSensorMsgPayload | Output | TAM measurement in sensor frame |
Camera
camera
camera
Applies realistic image degradations to an input camera image. The module reads raw image data (from a Vizard render or a file) and applies a configurable corruption pipeline in this fixed order:
- Gaussian noise
- Box blur
- Dark current
- HSV color adjustment
- BGR color adjustment
- Dead and stuck pixels (salt and pepper)
- Cosmic ray streaks
0 to disable that stage.Messages| Message | Type | Direction | Description |
|---|---|---|---|
imageInMsg | CameraImageMsgPayload | Input | Raw camera image |
cameraConfigOutMsg | CameraConfigMsgPayload | Output | Camera configuration |
imageOutMsg | CameraImageMsgPayload | Output | Corrupted camera image |
Utility sensors
simpleMassProps
Estimates spacecraft mass properties from a connected state effector configuration. Outputs an
SCMassPropsMsgPayload for use by estimation algorithms.simpleVoltEstimator
Estimates battery voltage from a power storage state message. Provides a simple
VoltMsgPayload output for voltage-dependent fault detection logic.hingedRigidBodyMotorSensor
Measures the state (angle and rate) of a hinged rigid body motor actuator, simulating encoder feedback for deployed appendages.