|
| 1 | +"""Basilisk flight software models (FSW) are given in ``bsk_rl.sim.fsw``. |
| 2 | +
|
| 3 | +Flight software models serve as the interface between the operation of the satellite in |
| 4 | +simulation and the Gymnasium environment. While some FSW models add additional |
| 5 | +functionality to the satellite, such as imaging instrument control in :class:`ImagingFSWModel`, |
| 6 | +others replace the default control laws with a more complex algorithms, such as :class:`SteeringFSWModel` |
| 7 | +vis a vis :class:`BasicFSWModel`. |
| 8 | +
|
| 9 | +Actions |
| 10 | +------- |
| 11 | +
|
| 12 | +Each FSW model has a number of actions that can be called to task the satellite. These |
| 13 | +actions are decorated with the :func:`~bsk_rl.sim.fsw.action` decorator, which performs |
| 14 | +housekeeping tasks before the action is executed. These actions are the primary way to |
| 15 | +control the satellite simulation from other parts of the Gymnasium environment. |
| 16 | +
|
| 17 | +Properties |
| 18 | +---------- |
| 19 | +
|
| 20 | +The FSW model provides a number of properties for easy access to the satellite state. |
| 21 | +These can be accessed directly from the dynamics model instance, or in the observation |
| 22 | +via the :class:`~bsk_rl.obs.SatProperties` observation. |
| 23 | +
|
| 24 | +Aliveness Checking |
| 25 | +------------------ |
| 26 | +
|
| 27 | +Certain functions in the FSW models are decorated with the :func:`~bsk_rl.utils.functional.aliveness_checker` |
| 28 | +decorator. These functions are called at each step to check if the satellite is still |
| 29 | +operational, returning true if the satellite is still alive. |
| 30 | +""" |
| 31 | + |
| 32 | +from bsk_rl.sim.fsw.base import BasicFSWModel, FSWModel, SteeringFSWModel, Task, action |
| 33 | +from bsk_rl.sim.fsw.ground_imaging import ( |
| 34 | + ContinuousImagingFSWModel, |
| 35 | + ImagingFSWModel, |
| 36 | + SteeringImagerFSWModel, |
| 37 | +) |
| 38 | +from bsk_rl.sim.fsw.orbital import MagicOrbitalManeuverFSWModel |
| 39 | + |
| 40 | +__doc_title__ = "FSW Sims" |
| 41 | +__all__ = [ |
| 42 | + "action", |
| 43 | + "FSWModel", |
| 44 | + "BasicFSWModel", |
| 45 | + "ImagingFSWModel", |
| 46 | + "ContinuousImagingFSWModel", |
| 47 | + "SteeringFSWModel", |
| 48 | + "SteeringImagerFSWModel", |
| 49 | + "MagicOrbitalManeuverFSWModel", |
| 50 | +] |
0 commit comments