Streamlining Development and Testing of Space Applications
9 min readThe emergence of modern space-grade computers
Space-grade onboard computers face the challenge of balancing computational power with resilience to harsh space conditions. Traditional radiation-hardened (rad-hard) processors have been essential for crucial deep space missions. However, these systems often lack flexibility due to their limited computing power and dependence on specialized processor architectures like PowerPC. This can lead to longer development time, challenging prototyping, and escalated costs for space projects.
Currently, modern rad-hard computer boards like Space Edge Processor (SEP) manufactured by Blue Marble Communications Inc., are becoming available on the market. These boards offer better computational capabilities and leverage mainstream processor architectures such as x86, commonly found in laptops, desktop computers, and enterprise servers. Adopting such hardware may positively impact crucial aspects of software for space projects, such as time-to-market, risk reduction, testing, and performance.
This article explores the limitations of conventional rad-hard boards and the potential of modern computers to transform the software development lifecycle for space missions. The discussed unit — Space Edge Processor by Blue Marble Communications, combines an x86 CPU, GPU, and FPGA on a single board. It is additionally equipped with the dacreo AI GPU ecosystem by BruhnBruhn Innovation AB, featuring a dockerized ROCm software stack and optionally, dacreoOS, an optimized embedded Yocto 5.0 LTS derivative Linux OS for lightweight robust containerized application deployment. We highly encourage the reader to first look into our white paper, which discusses the integration of SoftServe’s stack with units like Space Edge Processor.
Impact of traditional rad-hard computers on development and testing
Traditional rad-hard boards have an extensive flight heritage, making them the go-to choice for critical subsystems in high-orbit and interplanetary missions. Such onboard computers typically employ a robust real-time operating system like VxWorks or RTEMS, ensuring reliability for mission-critical software. However, they often come with inherent limitations. Apart from resource constraints, they usually have low support for software ecosystems that are widely used in other domains, such as terrestrial robotics. This has several important consequences:
- Low prototype reusability: Building initial prototypes on flight-ready hardware is too expensive, thus developers start with more accessible technologies like Robot Operating System (ROS) or SpaceROS, and simulation tools such as Gazebo, Algoryx AGX Dynamics or NVIDIA Isaac Sim. Later, these need to be converted for space mission use, which vastly extends the development time.
- Need for hardware emulation and cross-target testing: The development of flight-ready code is often carried out on workstations where more advanced tools for debugging and profiling are available. This requires additional steps to ensure compatibility with the target hardware, including the development of abstraction layers or the need for hardware emulation. All of this increases development effort, makes verification more complex, and creates the need for multiple layers of tests.
- Limited access to modern software tools: Common libraries like PyTorch or ROS often can’t be used, which delays development and limits what the final systems can do. Support for widely adopted simulation tools is also limited, leading to the need for specialized simulators or connectors.
- Limited hardware-in-the-loop testing capabilities: Writing the flight-ready code for rad-hard boards takes time, thus testing advanced algorithms on the target hardware requires additional development and can often be carried out only at later stages, increasing overall project risk.
- Steep learning curve for developers: The availability of community support and resources for toolchains and software used in the space industry is often limited compared to large open-source and off-the-shelf (COTS) solutions.
The impact of the raised points on different stages of development and testing is summarized in the diagram below:
Figure 1: Example levels of off-the-shelf (COTS) software utilization in various test phases for projects employing radhard computers. Names of test phases adhere to ECSS standards. COTS software encompasses both flight software and testing tools. Actual utilization levels may vary for each project
The evolving landscape of space exploration calls for a paradigm shift in software development for modern missions. Key drivers for this evolution include:
- Increased software complexity: Missions with next-gen capabilities like advanced robotic surface exploration will require more complex software, high-performance compute, and tighter integrations with simulation environments. Achieving these capabilities on traditional hardware can be a lengthy and challenging process.
- Prioritizing speed over guarantees: Modern subsystems may opt for increased computational power and streamlined development at the expense of the guarantees of traditional hardware. This trend is prevalent in sectors such as manufacturing, where COTS solutions like NVIDIA Jetson may be preferred for their speed and ease of use.
- Anticipated growth of the space sector: Analysts from McKinsey forecast that the space economy will almost triple by 2035. This highlights the need for more accessible technology stacks to make training the next generation of space developers easier.
The following sections will discuss how new features of modern rad-hard boards, like Blue Marble’s Space Edge Processor (SEP), can better meet these needs by making development faster, bridging the gap between prototypes and ready-to-fly units, offering higher computational capabilities, and simplifying testing and validation efforts.
Developing software for Space Edge Processor
The development process for the Space Edge Processor (SEP) equipped with BruhnBruhn Innovation’s dacreo AI ecosystem has been assessed by deploying various applications on a test unit with specifications matching those of the SEP. These applications are built on top of established and emerging frameworks in the space domain such as cFS, ROS, OpenCV, and others. The main conclusion from the conducted exercise is that the SEP’s compatibility with Linux and reliance on the same processor architecture as desktop computers allowed running SoftServe’s developed solutions like Lunar Drone Accelerator or Lunar Robotic Excavator with little to no adjustments. It implies that various algorithms and applications could be deployed and tested on the representative hardware from the project outset with off-the-shelf frameworks and packages. Moreover, large portions of prototype code could potentially be reused in the final flight-ready software.
The test unit was also equipped with dacreo AI ecosystem by BruhnBruhn Innovation (BBI), which is an adapted version of AMD ROCm high-performance compute stack, adjusted to run on Space Edge Processors VEGA GPU architecture. This ecosystem adds accelerated compute capabilities to the device and enables access to emerging technologies widely adopted in machine learning and artificial intelligence communities, such as OpenCL, Tensorflow, or Pytorch. Additionally, it allows for writing low-level GPU code and enables the compilation of CUDA applications with relatively low porting effort. Dacreo running on SEP opens a possibility to easily optimize many applications, without the need for specialized hardware, reducing risks and overall cost of the end solution.
Lastly, thanks to the mentioned features, it is possible to use the unified development toolchain between the developer workstation and the Space Edge Processor. This allows for leveraging tools such as Valgrind for dynamic code analysis directly on the representative unit, making profiling and troubleshooting easier. Additionally, real-time remote debugging tooling present within the Linux ecosystem enhances troubleshooting capabilities, improving productivity and software quality.
Simulation and testing on Space Edge Processor
The SEP unit utilizes x86 processor architecture, making integration with COTS simulation environments such as Gazebo, Algoryx AGX Dynamics, or NVIDIA Isaac Sim straightforward, with low development effort. This allows for the adoption of a simulation-first approach and enables continuous verification of evolving software in a fully-fledged testing environment, making the “test as you fly” paradigm easier to implement.
Furthermore, real-time connection to COTS simulation engines allows for on-demand hardware-in-the-loop (HIL) testing, performance benchmarking, and software verification on the target hardware platform at any project stage. This enhances the representativeness of testing and makes the conformance to guidelines such as ECSS easier to achieve, reducing overall risk. The SEP can also interface with a co-simulation solution developed by SoftServe, which integrates NVIDIA Isaac Sim with Matlab FMI/FMUs. This enables executing complex scenarios, where visually rich simulation engines are integrated with high-fidelity models developed by subject matter experts in Matlab or Simulink and tested directly on the device.
Overall, the features offered by the evaluated rad-hard compute board allow for direct integration of representative hardware early in the development stages, and for higher utilization of off-the-shelf software and frameworks in the flight-ready code, as outlined in the diagram below:
Figure 2: Possible levels of COTS Software utilization in different test phases, for modern rad-hard boards such as Space Edge Processor. The levels outlined in the diagram are just exemplary and the actual numbers depend on various aspects such as mission profile, system criticality, power budget, etc.
Conclusion
As discussed, modern rad-hard units such as Space Edge Processor can have a large impact on the software development lifecycle of various subsystems in space missions. The advancements of these onboard computers allow for leveraging COTS software solutions to a larger degree, building more accurate prototypes, and easier integration with representative and complex test environments at any stage of the project. All capabilities of the Space Edge Processor that are mentioned above lead to the reduction of time-to-market (compare figures 1 and 2), decreased development cost (due to mainstream processor architecture and GPU acceleration capabilities), and increased product quality (due to advanced HIL enabled by the SEP).
The device can offer great capabilities for higher-level cognitive and autonomy subsystems or edge data processing applications in future missions. For some projects, it may eliminate the need for creating specialized FPGA or custom boards and may streamline the development and testing of significant portions of the end solution. Not to mention the potential robotics Gen AI applications that can be executed directly on the space robot enhancing its performance.
The potential capabilities of spacecrafts equipped with a single or a cluster of SEPs enable space companies and agencies to plan advanced space missions that minimize the need for frequent human intervention. During these missions, advanced robots can interact with their environment and with each other, opening the possibility for executing more complex scenarios across both scientific and commercial space programs.