Home - Connor-bett-swin/i54SatelliteSwarms GitHub Wiki

Alt text

Project i54 - S.P.A.C.E

Validating a New Concept in Federated Learning for Satellite Swarms

  1. What is SPACE?
  2. What does SPACE do?

What is SPACE?

The Satellite Parametric Analysis Computing Environment (S.P.A.C.E) is a Python-based system which will be used as a validation tool for a current novel concept that aims to advance Federated Learning (FL) in the context of satellite swarms.

Initial Concept

The initial concept that S.P.A.C.E originates, stems from the growing demand of Earth Observational (EO) data and its high threshold for time and power consumption during the transmission of cosmic-scale data. In this case, researchers are looking toward the application of Machine Learning in space wherein satellites have the ability to transmit trained models during the course of their orbits; a method tokened as distributed training which extends the concept of Federated Learning.

Essentially, the algorithm that S.P.A.C.E is meant to validate leverages the predictability of satellite orbits by calculating future satellite positions which result in the formation of smart communication paths where an optimal satellite can be nominated as the parameter server rather than the ground station in current EO application.

S.P.A.C.E is designed to be a simulation suite that validates the developed algorithm advancing towards Technology Readiness Level 3 (TRL-3).

What does SPACE do?

The simulation system for satellite swarms is an intricate network of analytical tools, simulation processing units, and user interfaces. The purpose of this technology is to make it easier to study and analyse federated learning algorithms in the context of satellite swarms.

S.P.A.C.E is intended to do the following:

  1. Research Environment: Researchers will be the primary users who interact with the simulation suite. To facilitate the users a GUI will be available or manually edit a JSON configuration file to input different configurations into the Simulation System, like satellite parameters and learning methods.

  2. Satellite Simulator: Its job is to convert inputs from Two-Line Element (TLE) sets into dynamic simulations of satellite orbits. The information produced by the simulations, such as orbital trajectories and adjacency matrices that show the likelihood of satellite communication at specific times are utilised as the base model for timings for connection between nodes in the FL Model.

  3. Algorithm Module (FL Algorithm Processing): The Algorithm module implements the selection criteria to choose the satellite with highest number of connections. This module trims the connections that do not directly involve the selected aggregator satellite. It also prevent any single satellite from being overwhelmed when multiple satellites are with same number of connections between them by prioritizing with fewer prior selections.

  4. Federated Learning Module (FL Algorithm Processing): The federated learning model distributes the data samples between the swarm of satellites. It will facilitate the decentralised training data and aggregate it to ensure that each satellite in the swarm has a relevant section of the whole model.

  5. User Interfaces (Configuration GUI): It is intended to function as a logical interface layer on top of the JSON configuration structure, giving users a user-friendly interface via which they may define simulation variables without having to write any code.

  6. Output Analysis (MATLAB): As a final stage of this project, MATLAB will be used to create a system analysis to determine the effectiveness of the developed project. However, this stage will be utilised as a supplementary measure, as the project will be overseen by the Client who will be able to assist in concurrent evaluation of the system.

Please see How it Works for an in-depth explanation of the S.P.A.C.E System!

⚠️ **GitHub.com Fallback** ⚠️