Model Management Service: A Custom PUS Service for Flexible Handling of Machine Learning Models on board Space Systems
Scholz, Karen, Jan-Gerd Meß · Zenodo (CERN European Organization for Nuclear Research) · 2021
The use of Artificial Intelligence (AI) and Machine Learning (ML) in space missions has become a popular approach to make spacecrafts act more autonomously. Increasing autonomy is required since communication bandwidth and the availability of ground stations is limited. It is recognized that increasing autonomy may also yield detection of science opportunities and also increases reliability whereas the operational effort can be reduced. Common applications of AI and ML in space missions relate to anomaly detection, fault detection, isolation and recovery (FDIR), pose estimation and trajectory design, among others. Many approaches rely on Deep Neural Networks (DNN) due to their achievements in the past years in several application domains that formerly required human intervention. The basic mathematical operation in DNNs is the matrix multiplication. Weight matrices are consecutively applied to the input data, in order to produce a prediction. DNNs may have multiple thousands or even millions of weights, which are adapted within the training phase, such that the model is suitable for its task. Especially the training of DNNs is computationally intensive because the amount of training data required increases with the size of the network. However, computational power and memory space of embedded systems as used in space missions are limited. To circumvent this and in order to verify the trained models as far as possible, ML models are usually trained and validated on ground and deployed to the embedded system afterwards. However, there exists no standardized interface that enables to load ML models on embedded systems on space systems. Our approach aims to deploy arbitrary ML models including neural networks to space missions using the well-established packet utilization standard (PUS, cf. ECSS-E-ST-70-41C). Therefore, we extended our Open modUlar sofTware PlatfOrm for SpacecrafT (OUTPOST, available as Open Source software) with a custom PUS service for dynamically loading and executing trained and validated ML models generated by TensorFlow Lite. TensorFlow Lite is an extension of the widespread ML platform TensorFlow developed by Google. It enables to deploy TensorFlow models to embedded systems and microcontrollers by encoding and decoding them into a serialized representation of the model. Through our custom PUS service, models can be uploaded to and removed from the space system as well as updated by other versions of the model. Furthermore, the service enables the execution of models in an event-triggered fashion and makes the prediction results accessible for other components of the flight software through the PUS model. These can now make use of our custom PUS service to increase autonomy when handling their tasks. Conceivable tasks range from data-driven monitoring of the system’s health status to autonomously controlling essential parts of the space system in the foreseeable future.