Skip to content

Mission Modes

Lauren Greenhill edited this page May 7, 2022 · 17 revisions

Mission Mode Class

Class Contents

virtual void transition_to()

  • Sets all relevant settings in the SFR. Optionally sets the start time of the mode

virtual void dispatch()

  • Checks exit conditions

float start_time

void set_start_time(float new_start_time)

  • Stores when the mission mode started

virtual int get_id()

  • Returns numerical representation of mode for comparisons

virtual mode_type get_type()

  • Returns either NORMAL, TRANSMIT, LP, or OTHER

Mission Mode State Machine

Description of settings

Initialization

Exit conditions for Boot:

  • Two hours have elapsed

Exit conditions for Alive Signal and Low Power Alive Signal:

  • X minutes have elapsed in Alive Signal and/or Low Power Alive Signal
  • RockBLOCK downlink hard faults
Mode Description RockBLOCK Status ACS Mode IMU Status
Boot The RockBLOCK may not be on during this time due to CubeSat's proximity to the ISS. Sleep mode Off Off
Alive Signal This mode allows us to communicate with the CubeSat at one time before the ACS is activated. Downlink period of X minutes Off Off
Low Power Alive Signal This is the power saving version of Alive Signal. Downlink period of X minutes Off Off

Stabilization

Stabilization phase exit conditions:

  • IMU values determine that the CubeSat is stable
  • X minutes have elapsed in the Stabilization phase
Mode Description RockBLOCK Status ACS Mode IMU Status
Detumble & Spin This mode gives an opportunity for spin stabilization at the beginning of the mission. Off Detumble & Spin On
Low Power Detumble & Spin This is the power saving version of Detumble & Spin. Off Off Off

Standby

Standby phase exit conditions:

  • Deployment command received
  • X minutes have elapsed in the Standby phase
Mode Description RockBLOCK Status ACS Mode IMU Status
Normal The CubeSat performs Sleep mode Pointing or Simple On
Transmit TODO Downlink period of X minutes Off Off
Low Power TODO Downlink period of X minutes Off Off

Deployment

Deployment phase exit conditions:

  • Armed command received
  • X minutes have elapsed in the Deployment phase
Mode Description RockBLOCK Status ACS Mode IMU Status
Deployment Normal TODO Sleep mode Pointing or Simple On
Deployment Transmit TODO Downlink period of X minutes Off Off
Deployment Low Power TODO Downlink period of X minutes Off Off

Armed

Armed phase exit conditions:

  • Fire command received
  • X minutes have elapsed in the Armed phase
Mode Description RockBLOCK Status ACS Mode IMU Status
Armed Normal TODO Sleep Mode Pointing or Simple On
Armed Transmit TODO Downlink period of X minutes Off Off
Armed Low Power TODO Downlink period of X minutes Off Off

In Sun

In Sun phase exit conditions:

  • Temperature sensor readings are valid and the temperature determines the CubeSat is in sun
  • Temperature sensor readings are invalid, current sensor readings are valid and current determines the CubeSat is in sun
  • Temperature sensor readings are invalid and temperature sensor readings are invalid
  • X minutes have elapsed in the Armed phase
Mode Description RockBLOCK Status ACS Mode IMU Status
In Sun Normal TODO Sleep mode Pointing or Simple On
In Sun Transmit TODO Downlink period of X minutes Off Off
In Sun Low Power TODO Downlink period of X minutes Off Off
In Sun Voltage Sensor Fault TODO Downlink period of X minutes Off Off

Firing

Mode Description RockBLOCK Status ACS Mode IMU Status
Turn on Camera TODO TODO Off Off
Mandatory Burns TODO TODO Off Off
Regular Burns TODO TODO Off Off
Take Photo TODO TODO Off Off

Diagram with entrance and exit conditions

Fix diagram to show transitions between each version of each mode rather than default mode

mission_modes-Page-3 drawio

Outstanding Questions

  • Should alive signal allow for multiple RockBLOCK hard faults?
  • Should IMU be on during boot?
  • How does the IMU determine the CubeSat is stable during Detumble & Spin? Could ACS still be on but just in a different mode like pointing?
  • What are all of the downlink period/timeouts?
  • How do timeouts for phases work?
  • If IMU is in invalid state in detumble and spin do we just keep attempting reinitialization until the phase times out? How does that work with the power budget
  • Should we always ignore the photoresistor?
  • If temperature sensor readings are invalid and current sensor readings are invalid should we really proceed straight from in sun?
Clone this wiki locally