Skip to content

Commit 6cd5c2b

Browse files
committed
[#244] Refactor fsw
1 parent 309b7f4 commit 6cd5c2b

4 files changed

Lines changed: 420 additions & 376 deletions

File tree

src/bsk_rl/sim/fsw/__init__.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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

Comments
 (0)