11. scenario_FaultList

11.1. Overview

This scenario demonstrates fault scheduling using a fault list. The script lives in basilisk/examples/BskSim/scenarios and can be executed with:

python3 scenario_FaultList.py

11.2. Scenario Purpose

This file shows how to:

  1. Build a mixed faultList containing different fault classes from BSK_Faults.

  2. Register each fault as a simulation event through fault.addFaultToSimulation(...).

  3. Run a long-duration simulation with both one-time and recurring faults.

  4. Plot attitude/rate performance together with magnetometer output and latitude.

11.3. Default Fault Configuration

By default this scenario injects:

  • One reaction wheel power-limit fault at 5 minutes.

  • A latitude-dependent magnetometer noise update every 5 minutes (MagPolarNoise with faultType="NOISE") across the full simulation.

Notes

The orbital setup is a near-polar, Sun-synchronous-like orbit to emphasize high-latitude behavior in the magnetometer fault model.

11.4. Illustration of Simulation Results

showPlots = True
../../../_images/scenario_FaultList_attitudeErrorNorm.svg ../../../_images/scenario_FaultList_rateError.svg ../../../_images/scenario_FaultList_RWSpeeds.svg ../../../_images/scenario_FaultList_Magnetometer.svg ../../../_images/scenario_FaultList_Latitude.svg
scenario_FaultList.run(showPlots)[source]

Run the fault-list scenario.

Parameters:

showPlots (bool) – Determines if the script should display plots.

scenario_FaultList.runScenario(scenario, faultList, simulationTime_min=100)[source]

Initialize and execute the scenario.

class scenario_FaultList.scenario_FaultList(fswRate=0.1, dynRate=0.1)[source]

Bases: BSKSim, BSKScenario

configure_initial_conditions()[source]

Developer must override this method in their BSK_Scenario derived subclass.

log_outputs()[source]

Developer must override this method in their BSK_Scenario derived subclass.

pull_outputs(showPlots)[source]

Developer must override this method in their BSK_Scenario derived subclass.