Conversation
added 7 commits
February 9, 2023 21:41
add [MSM] System States diagram containing states: - [*] Pre-Orbit Entry - Detumbling & Deployment - In-Orbit Operation - Idle - Uplink - Downlink - Imaging - Processing - Imaging & Uplink - Imaging & Downlink - Processing LP & Uplink - Processing LP & Downlink - Failure states, 1 per S/S: - Power Failure - Communications Failure - OBC Failure - Mechanical Failure - Control Failure - Payload Failure - Software Failure - [*] Combustion transitions represent the two main intended modes of operation: - auto-triggered Uplink & Downlink - auto-triggered Imaging & Processing plus: - Uplink & Downlink concurrently with other tasks - failure from any In-Orbit Operation state - manual recovery to Idle from any non-Idle state
change the following in [MSM] System States: - rename [*] initial state to System Boot representing power-up to the entire system, and connect it directly to Idle - rename Detumbling & Deployment to Orbit Entry as an idle-based state loop with sub-states: - Contact-Seeking - Detumbling - Deployment - clean up transitions to failure states from each sub-state of In-Orbit Operation, starting from the whole region instead - fix transition to Processing LP & Uplink, moving starting state from Processing to Imaging - add new transitions: - from Uplink to Imaging & Uplink, triggered by AoI entry while in Uplink state - from Downlink to Imaging & Downlink, triggered by AoI entry while in Downlink state
add basic system functions to [SFBD] Root System Function Breakdown, and allocate them to the System in [SAB] System Architecture: - Collect telemetry - Deployments: - solar panels - antennas - drag-sail - Operate nominal & high power - Adjust attitude & Detumble - Process images (nominal & low power) - Capture images also create the State Machine and Capability Function Matrix "System Matrix: States vs Functions", compiled with relevant allocations of system functions to system states (failure states are excluded from the rows; capabilities are excluded from the columns)
actuate transitions from System level to Logical level: - State Machine transition - System Functions transition
rearrange [LFBD] Root Logical Functional Breakdown with basic functions transitioned from System level add [LCBD] Subsystem Breakdown new with components representing the basic subsystems: - Electrical Power Subsystem - Mechanical Deployment Subsystem - Attitude Determination and Control Subsystem - Software Pipeline Subsystem - Payload Subsystem ...together with the already-present: - Communications Subsystem - On-Board Computer Subsystem allocate basic functions to basic subsystems in [SAB]: - Electrical Power Subsystem: - Operate nominal power - Operate high power - Mechanical Deployment Subsystem: - Deploy solar panels - Deploy antennas - Deploy drag-sail - Attitude Determination and Control Subsystem: - Adjust attitude - Detumble - Software Pipeline Subsystem: - Process images (nominal power) - Process images (low power) - Payload Subsystem: - Capture images - On-Board Computer Subsystem: - Collect telemetry
add [MSM] for each Subsystem: - ADCS States: - Idle - Actuate - Comms States: - Idle - Send - Receive - Deployer States: - Idle - Deploy - End-of-Life (dragsail) -> Combustion - EPS States: - Idle - High-Power - OBC States: - Operational - Payload States: - Idle - Imaging - Pipeline States: - Idle - Processing - Processing Low-Power
Compile realisation relationships between system states and subsystem states, and allocations of subsystem functions to subsystem states: - [MSM] ADCS States: - Idle: - state realisations to all In-Orbit Operation states - do activity: Adjust attitude - Actuate: - state realisation to Detumbling - do activity: Detumble - [MSM] Comms States: - fix order (receive -> send) - Idle: - state realisation to all states outside Link loops - do activity: -- - Receive: - state realisation to Contact-Seeking and all X+Downlink states - do activity: Receive mode change telecommand, Direct-issue mode change signal - Send: - state realisation to Contact-Seeking and all X+Uplink states - do activity: Send mode change outcome full & minimal telemetry - [MSM] Deployer States: - Idle: - state realisation to all non-deployment states - do activity: -- - Deploy: - state realisation to Deployment - do activity: Deploy solar panels, Deploy antennas - End-of-Life: - state realisation to Combustion - do activity: Deploy drag-sail - [MSM] EPS States: - Idle: - state realisation to Idle, Imaging, Deployment - do activity: Operate nominal power - High-Power: - state realisation to all power-intensive states - do activity: Operate high power - [MSM] OBC States: - Operational: - state realisation to all states - do activity: Collect telemetry, Relay-issue mode change signal, Validate outcome of mode change signal - [MSM] Payload States: - Idle: - state realisation to all non-imaging states - do activity: -- - Imaging: - state realisation to all Imaging+X states - do activity: Capture images - [MSM] Pipeline States: - Idle: - state realisation to all non-processing states - do activity: -- - Processing: - state realisation to Processing - do activity: Process images (nominal power) - Processing Low-Power: - state realisation to all Processing+X states - do activity: Process images (low power) also create the State Machine and Capability Function Matrix "Subsystem Matrix: States vs Functions", manually compiled with the allocations above
added 2 commits
February 12, 2023 13:54
at System Level, modify [MSM] System States: - space out states for readability - add transitions completing all secondary system state loops (all relevant combinations of subsystem transitions) - annotate transitions with trigger descriptions (excluding idle-targeting override transitions) at Logical Level, modify all [MSM] X States: - set X Boot state and transition to realise System Boot state and transition - add transitions needed to realise all system-level transitions - appropriately name transitions and set them to realise the relevant system-level transitions - annotate transitions with trigger descriptions (note: all subsystem transitions are triggered by OBC commands; the description means what such command is based on)
rename conflicting pipeline transitions to: - Sensing Loop Free Exit (from Processing) - Sensing Loop Throttled Exit (from Processing Low-Power)
at System Level, modify [MSM] System States: - remove Contact-Seeking state - move ejection transition target to Detumbling - rename Detumbling -> Deployment transition to the only occurrence of Ejection Loop Progress also, in System Matrix: States vs Functions' Deployment state, add "Receive mode change ..." and "Send mode change ..." functions and swap "Operate nominal power" to "Operate high power". at Logical Level, modify - [MSM] Comms States: - add Detumbling and Deployment state realisation to Send state - add new state loop: Entry Orbit Reverse Link Loop (Idle -> Send) - remove realisations from the forward loop transitions and allocate them to the reverse loop instead - [MSM] ADCS States: - add Deployment state realisation to Idle state - change Idle -> Actuate transition trigger description to Ejection - add Ejection Loop Entry transition realisation to Idle -> Actuate - [MSM] EPS States: - change Idle -> High-Power transition trigger description to a more generic High demand - add Ejection Loop Entry transition realistaion to Idle -> High-Power - add Ejection Loop Exit transition realisation to High-Power -> Idle note: this region of the FSM and its implications will require more work when actually considering the launch stage of the mission (e.g. uplink and and downlink actions which are kept in separate states in the main operation region are merged together in this region for simplicity); however, refer to this changeset for an idea of the work to do when modifying the Finite State Machine representations :)
it just doesn't make sense
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For a detailed description of the Finite State Machine models, see the FSM Specification Document.