The Cluster Flight Application (CFA) is a flight software package that was originally developed for DARPA’s System F6. CFA provides semi-autonomous guidance, navigation, and control (GN&C) services that enable multiple spacecraft to safely participate in mission applications that require them to orbit in close proximity to each other. The term cluster as used here means a set of spacecraft orbiting together, whether they are flying in formation or merely in proximity. CFA can support either concept. CFA was developed by a certified CMMI Level 3 software development organization on a path toward flight-ready status. See video of CFA performing spacecraft ingress into an existing cluster below:

CFA provides services that the individual spacecraft cannot provide for themselves, such as relative navigation and cluster-coordinated maneuver planning and execution, to maintain the spacecraft orbits safely and efficiently. CFA is designed to run on-board the spacecraft as flight software without much ground intervention and as such, it is designed to integrate with the existing spacecraft Command and Data Handling (C&DH) functions, the links to the ground software, and other components of the mission technology suite, including GPS and relative navigation sensors, shared payloads, data-link layers, etc. to achieve the mission goals using shared resources. It also supports dynamic resource allocation, fault tolerance, load balancing, failover, and middleware-based information exchange.

The CFA software architecture is service-based with the GN&C functionality provided to the spacecraft cluster through a set of services that run on computing nodes located either on the spacecraft or on nodes in the ground segment that are connected to the Cluster Network via a networked link. These services communicate with each other via a messaging bus provided as the part computing infrastructure. CFA was designed to be platform agnostic and independent of the underlying computing infrastructure and has already been ported to a number of operating system and messaging platforms. CFA services are flexibly deployable and can move from one networked computing node to the next as needed to best utilize available resources. This approach works well in a range of scalable mission architectures from a single spacecraft mission up to 20 spacecraft in a cluster or formation.

The architecture is designed to spread out the computational load and minimize the required inter-spacecraft communications bandwidth. The individual services have defined interfaces and usage patterns, so they can be tested by themselves and put together to form a system with a higher function. The individual services can be upgraded and replaced over time. CFA is built to be a robust, distributed system that adapts and evolves over time.

The individual services that compose CFA are the Cluster Flight Manager (CFM), Orbit Maintenance Service (OMS), Maneuver Planning Service (MPS), and Navigation Service (NAV). The component services work together to enable the autonomous cluster flight capabilities provided by CFA.

Service-Based Architecture

The concept of a service-based CFA, distributed over several heterogeneous nodes, is illustrated below, which shows a sample cluster consisting of four spacecraft.  The GN&C functions of relative navigation, flight management, collision avoidance, station-keeping, and module maneuvering come from services that run on the individual spacecraft or on multiple spacecraft. The Message Bus shown on each spacecraft in the figure extends across the inter-spacecraft radio links and provides a common infrastructure and data connectivity between the service instances. Since a persistent, high-data rate connection to the ground was part of the F6 infrastructure, the Message Bus was extended to the ground nodes. 

Cluster Flight Manager (CFM)

Cluster Flight Manager (CFM) –CFM is responsible for the automation and coordination of all CFA services, maintaining an inventory of all the modules that are members of the cluster, and managing the states of the cluster and of each module.  Other key functionalities of CFM include monitoring the cluster collision probability and management of maneuver distribution to the spacecraft in the cluster.

Orbit Maintenance Service (OMS)

Orbit Maintenance Service (OMS)– The OMSimplements the maneuver and station-keeping strategies for the cluster or formation. It monitors the spacecraft position geometry parameters and state information and provides maneuver targets for use in maneuver planning. For example, for cluster orbit maintenance, it specifies the target relative orbit elements that are desired, the frequency of the control loop, and the constraints associated with the spacecraft such as minimum and maximum delta-V and time.  OMS continuously monitors the relative state of all of the modules by periodically propagating their orbit state including planned maneuvers to predict collisions and determine when they will leave their control boxes.

Maneuver Planning Service (MPS)

Maneuver Planning Service (MPS)– The MPS processes requests for specific coordinated cluster maneuver plans. It takes as inputs a quality of service request, cluster state, status, navigation information, and maneuver plan goals. The MPS generates multi-burn maneuver plans that satisfy the constraints and objectives of a particular orbit control request. Its flexible algorithm is designed to compute the delta-V maneuvers for all the orbit control scenarios required by the mission.Through a robust heuristic search method based on simulated annealing, MPS finds the optimal maneuver times and targets that satisfy the cluster control objectives and constraints.  An underlying efficient multi-burn solver based on linear programming generates the optimum delta-V plans for a given set of initial and final conditions selected by the heuristic search.

Navigation Service (NAV)

Navigation Service (NAV)– NAV estimates cluster module states based on data from spacecraft sensors and range data derived from the radio cross-links. It provides higher quality absolute and relative navigation solutions for modules than they can generate themselves. NAV provides position and velocity information for all the modules in the cluster.  Because of the criticality of the navigation information, robustness and reliability are the main driving factors of the NAV architecture.  Although the NAV framework is built to accept a variety of measurement types, including range, range rate, and angles, its nominal mode of operation uses commonGPS pseudo-range measurements. The NAV filter solutions based on these GPS measurements provide sufficiently accurate relative navigation for efficient orbit control.  The NAV architecture is designed to provide robustness to failures in either the spacecraft cross-links or in the GPS information through its fault detection, isolation, and recovery (FDIR) function

Maneuver Planning Service (MPS)

  • Designed to be deployed as a “job processing” service
    • Clients request maneuvers on an as-needed basis
    • Clients submit prioritized maneuver requests
    • Maneuver planning returns, but does not store, results (“stateless”)
  • A “standardized” interface
    • Supports multiple maneuver types (Ingress, SK, etc.)
    • With constraints, objectives, etc.

Cluster Flight FDIR and COLA

Universal Maneuver Planning Provides Guidance and Control

  • Modular design allows for varied search algorithms to be considered
  • Heuristic Search Framework
    • Considers cluster level constraints and objectives
    • Generic search state interface that supports multiple maneuver types
  • Fast Multi-Burn Solver
    • Computes individual module’s maneuver sequence
    • Called every iteration of the heuristic search algorithm
    • Allows for multiple variations
      • Linear Programming, others
      • Different EOM can be used depending on reference orbit, cluster size, and relative geometry