More than 60 years after the first orbiting human-made space object (1957), we’ve reached about 1800 satellites in Earth orbit (2018). They are currently operated by private corporations, governmental and multi-governmental space agencies. They orbit along with about 2600 other satellites, whether decommissioned, retired or non-functioning.
The recent trends in New Space involve space industrialisation, more open designs and wider access to launches for labs and universities (public institutions). The supply chain for satellite manufacturing has also been improved and optimized to deliver not only the one large satellite mission but the several hundreds to thousands of satellites in each fleet. Building time for a spacecraft has been reduced to something between 6 months and 2 years, depending on the mission complexity. Fleet mission such as OneWeb announce the average rate of the construction of one satellite a day for a final constellation of about 900 satellites.
Helped and pushed by the democratization of cubesats and industrial 3D printing, the satellite supply chain is scaled up to soaring rates. Nevertheless the ground operations services haven’t scaled to fit these near-future needs. Spacecraft missions from most space agencies have a sufficient level of automation: in most known failure cases, the spacecraft has its own procedure, and for more complex failures satellites generally enter a safe-mode until ground operators find a solution.
Ground operations need to be disrupted to live along with the scale of future missions. It requires experimentation with new techniques in a rather conservative domain: space operations. The Polaris project aims at providing open source functional tools using machine learning to support space operators in understanding the situation. Open data from the SatNOGS project, lead by the Libre Space Foundation, is the incredibly valuable raw material we use to build models across multiple cubesat missions and set the first machine learning procedures to build common inter-missions knowledge.
Polaris is a Python module that can be used to explore satellite telemetry data mainly obtained from the SatNOGS network. Thanks to having similar orbits and form factors, the assumption is that data from different satellites can be compared to each other. It can also be merged to create bigger datasets and obtain better models.
The project is divided into three different parts: polaris-fetch, polaris-learn and polaris-viz. The second part is where all the machine learning and data science falls into. All of these parts play an important role in the building of a future artificial intelligence support system for space operations:
- polaris-fetch downloads raw demodulated data from the SatNOGS network. That has to be then decoded and converted to a common units system in order to compare data from different satellites. Glouton is used for accessing the database retrieving the telemetry, sanogs-decoders for decoding the binary data. The conversion to SI units is still being worked on. Other information is gathered to describe the spacecraft context as detailed as possible (orbits, operations commands, etc.).
- polaris-learn is the heart of Polaris. A data-driven approach is used to learn the behavior of the different spacecraft subsystems. Models are created to learn the links between telemetry parameters but also with respect to external factors, the spacecraft context (orbit, mission commands, etc.). Prediction and segmentation are used to create an anomaly detection system to enhance situation awareness of operators and explanations of anomalies.
- polaris-viz visualizes the results of the analysis (where have potential outliers been detected, telemetry predictions...). Currently, Grafana and InfluxDB are being used. Widgets to represent network relations and to input user feedback will be also considered.
Polaris has been selected to participate in the Google Summer of Code (GSoC 2019) and in the European Space Agency's Summer of Code in Space (SOCIS 2019) as part of Libre Space Foundation projects. The idea was born during the workgroups at the Open Source Cubesat Workshop 2018 where work on testing embedded device for machine learning training and inference was exposed.
In this talk will be presenting the results obtained during this period and the future steps. We will also briefly explain what we have learned, as mentors of the project, by participating in summer mentorship programs.