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:
Property | Description |
---|---|
Type | The type of the command to be executed. This can be one of the defaults or a custom one. |
Parameters | This 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. |
Priority | A priority for the command, which can be used to determine which command goes first when executing multiple commands at the same time. |
Trigger | The 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 Type | Description | Optional Parameters |
---|---|---|
Guidance Configure | Specifies a guidance command configuration, which will be used to set up the parameters for the guidance mode | Type (String), Pointing(String), Mode (String), Args (String) |
Guidance Start | Specifies a guidance start, which will be used to initiate guidance operations. | Navigation (String), Pointing (String), Controller (String), Mapping (String) |
Guidance Stop | Specifies a guidance stop, which will be used to stop any ongoing guidance operations. | |
Maneuver | Specifies a maneuver command, which will be used for maneuvering the spacecraft in a specific direction or trajectory change. | |
Payload Capture | Specifies 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.