Description

The Guidance Computer is a specialized Computer that constructs and manages software chains for spacecraft attitude determination and control. It enables users to configure and switch between different guidance modes during a simulation without manually constructing software modules. The computer automatically handles message routing between chains and manages chain state transitions.


Example Use Cases

  • Alternating Pointing Modes: Switch between sun-pointing for power generation and nadir-pointing for Earth observation based on mission phase.
  • Simplified GNC Stack: Add a guidance computer and select chain types without manually building the full software stack.
  • Mode-Based Operations: Implement autonomous mode switching based on spacecraft state or ground commands.

Module Implementation

Software Chains and Sequences

A software chain is a series of software modules linked together via the messaging system. A software sequence is a collection of software chains that can be swapped at runtime while maintaining consistent message interfaces.

Untitled

The guidance computer creates a GuidanceSoftwareChainSequence consisting of four chain categories:

  • Navigation Chain
  • Pointing Chain
  • Controller Chain
  • Mapping Chain

Each chain can consist of one or many software modules. All chains within a category must have compatible input and output messages to connect with adjacent chains.

Untitled

Chain Categories

Chain CategoryDescriptionOutput Messages
NavigationEstimates spacecraft position and orientation from sensorsNavigationAttitudeMessage, NavigationTranslationMessage
PointingComputes reference frame orientation for target alignmentAttitudeReferenceMessage, AttitudeErrorMessage
ControllerComputes control torque to achieve desired attitudeCommandTorqueMessage
MappingMaps command torque to actuator commandsActuator-specific

Available Chains

Chain NameCategoryPurpose
SimpleNavigationEstimates position and attitude by applying errors to true state
Sun EstimationNavigationEstimates attitude using sun sensor measurements
InertialPointingAligns spacecraft to an inertial reference frame
SunPointingAligns a body vector toward the sun for power optimization
VelocityPointingAligns a body vector along the orbital velocity direction
NadirPointingAligns a body vector toward a celestial body (e.g., Earth)
GroundPointingAligns a body vector toward a ground station
RelativePointingAligns a body vector toward another spacecraft
IdleControllerProduces no torque commands
MRPControllerModified Rodrigues Parameter feedback controller
Reaction WheelsMappingMaps torque commands to reaction wheel array
Magnetic Torque BarsMappingMaps torque commands to magnetic torque bars

Mode Switching

Each chain category has a mode property that can be changed at runtime:

  • NavigationMode
  • PointingMode
  • ControllerMode
  • MappingMode

When a mode changes, the guidance computer disables the previous chain and enables the new chain. Message routing between chains is automatically updated to maintain correct data flow.

Computer State Integration

The guidance software sequence is enabled when the computer transitions to the Running state and disabled when it transitions to Shutdown. This ensures software chains only execute when the computer is operational.


Assumptions/Limitations

  • Only one chain per category can be active at a time.
  • All chains within a category must have compatible message interfaces.
  • Chain parameters are configured through dedicated accessor methods on the guidance computer.
  • The computer must be in the Running state for software chains to execute.