Design Guidelines for General-Purpose Payload-Oriented Nanosatellite Software Architectures
Journal of Aerospace Information Systems
Despite their limited lifespan and reduced cost, nano-satellite missions have proved to be suitable platforms for Earth observation, scientific experiments and technology demonstration. During the last years, the number of nanosatellite missions has noticeably increased, posing the need to improve several system characteristics to ultimately endorse the full potential of this class of spacecraft. In this context, this paper presents three design guidelines that can be applied in nano-satellite
... oftware in order to improve the system robustness, modularity and autonomy. The design guidelines presented in this paper, namely, hierarchy-enabled robustness, payload-oriented modularity, and on-board planning capabilities, are complemented with a structured review of complementary software techniques and architectural concepts that have been found in the literature. The paper justifies that these system-wide qualities are some of the most critical when designing flight software for CubeSat-like spacecraft and explores how they can improve mission performances and operability, enhance the system's tolerance to failures and ease the development cycles. Finally, this paper illustrates the application of the design guidelines by detailing the on-board software architecture for the 3 Cat-1, a CubeSat program carried out at the Nano-Satellite and Payload Laboratory of the Technical University of Catalonia (UPC BarcelonaTech). Either adopting the CubeSat design philosophy and standardized structure, as in the 3U-based FLOCK constellation by Planet Labs , or designing spacecraft busses that take up less than 60 cm per side 1 like NASA's CYGNSS constellation , nano-satellite platforms have already been adopted by agencies, small and large corporations and have have been developed under many educational programs since the appearance 10 of the CubeSat standard. While the latter types of missions tend to be fully designed, implemented and operated by heterogeneous teams at universities and are generally less demanding in terms of accuracy and reliability, the vast presence of university-developed nano-satellite missions is a clear sign of the ongoing democratization of space and the constant exploration of small spacecraft's science return capabilities. On the other hand the interest and adoption of these types of platforms by the industry (e.g. [6, 7]) evidences 15 a clear paradigm shift and suggests a complexity increase for future mission architectures based on nanosatellite technologies. Albeit this situation has led to the development of multiple successful, monolithic nano-satellite missions, lately, the adoption of this class of spacecraft has also been considered especially favorable for the development of new mission architectures such as fractionated spacecraft, satellite constellations and swarms . 20 The combination of several instruments hosted at different nano-satellites has been envisaged as an enabler for new Earth observation missions with enhanced performance and improved system qualities . In this scenario, some companies have already been offering software components, hardware modules and complete subsystems that are compliant with the de facto standard (i.e. CubeSat Units), ranging from complex Attitude Determination and Control Subsystems (ADCS), to Electrical Power Supplies (EPS), robust 25 communication protocols, low-power on-board computers or Real-Time Operating Systems (RTOS). These and many other CubeSat-compliant commercial components, facilitate the development and integration of spacecraft and remove the burden of designing and testing some critical subsystems and modules. Thus, apart from coping with the complex task of integration, most nano-satellite developers ultimately focus on the development of mission-specific payloads and, most importantly, the design and implementation of 30 custom flight software that controls the spacecraft at device-and system-level. Given that software is usually understood as the final architectural element to achieve the desired functionality, less attention has been placed on software-related issues during the emergence and consolidation of the CubeSat era. However, software and its architectural characteristics can be critical for the management of the mission; their correctness severely affects the functionality of the spacecraft. As a matter of fact, 35 designing proper software architectures is also essential to achieve system-wide qualities such as reliability and performance, and should not be understood as the mere fact of writing functionally correct programs.