Description

The operation computer is a more advanced Guidance Computer that allows for the scheduling of commands, power and TT&C budget checks and for configuring some Spacecraft properties through commands. It also consists of a finite state machine to change the spacecraft’s behavior depending on its current condition. Typically, an operating computer provides the base code for a more complex computer to be developed by the user. This manual will describe the default behavior that an operating computer allows for and how it can be configured.


Example Use Cases

  • Guidance Modes: Adjust the guidance modes on the computer-based on power checks and mission budgets.
  • Event-Based Guidance: Can trigger different guidance modes based on certain events from being triggered, such as parameter values or simulation time reached.

Module Implementation

Since the operation computer deals with power budgets, the computer will attempt to find and track the first Battery on the spacecraft. This component is required for the computer to automatically switch to a safe state when the battery has a low charge fraction. Otherwise, if there is not a battery on the spacecraft, it will skip this behavior.

The computer inherits all of the Guidance Computer operations and allows for a range of pointing modes to be achieved. However, these operations are disabled under certain circumstances. The battery charge fraction is checked on the update call. If , where is the minimum fraction the battery can reach with a nominal system, then the computer changes to a Safe Mode. When in safe mode, all essential systems are disabled and the computer sends a request to the reaction wheels (or external torque effectors) to do a safe-mode spin, allowing the spacecraft to catch sunlight power on the solar panels. This will continue until , where is the recharge fraction. This functionality can be overridden by a custom computer.

The computer also reads Operation Command on the Partitioned Data Storage buffer it is connected to. This enables users to send custom commands to the computer to be executed. These commands can include guidance commands (for the guidance computer to operate on) or specific commands that can perform specific actions on the computer. Additionally, custom commands can be entered which can be executed both in Unreal Blueprints and in C#, allowing for user-specific functionality. The command can be created using four parameters:

PropertyDescription
TypeThe type of the command to be executed. This can be one of the defaults or a custom one.
ParametersThis is a comma-separated dictionary of optional parameters. Each parameter is passed into the command function which allows for additional properties to be manipulated for each command.
PriorityA priority for the command, which can be used to determine which command goes first when executing multiple commands at the same time.
TriggerThe trigger that the controls when then command should be executed.

When the command is loaded and the trigger time is reached, the command is executed. The following default command types exist:

Command TypeDescriptionOptional Parameters
Guidance ConfigureSpecifies a guidance command configuration, which will be used to set up the parameters for the guidance modeType (String), Pointing(String), Mode (String), Args (String)
Guidance StartSpecifies a guidance start, which will be used to initiate guidance operations.Navigation (String), Pointing (String), Controller (String), Mapping (String)
Guidance StopSpecifies a guidance stop, which will be used to stop any ongoing guidance operations.
ManeuverSpecifies a maneuver command, which will be used for maneuvering the spacecraft in a specific direction or trajectory change.
Payload CaptureSpecifies a payload command, which will be used for operating a payload on the spacecraft, such as a camera or scientific instrument.Payload (String)

Assumptions/Limitations

  • The spacecraft operation computer does not yet enable custom commands from being implemented.
  • The battery power level used assumes one battery on the spacecraft and will select the first battery that is found in the system.