Gen 1: The Recent Past – Human In the Loop (HITL) Generation
Space computing systems have followed Industrial systems in many ways. They need to be super reliable, work in a harsh environment and last forever. They collect data from sensors at the node, send the data back to the edge and then to the cloud. The architecture was designed for reliability and the lack of a permanent real-time link to the cloud. Once the System was operational it was almost impossible to make any change to the form/fit/function of the system. Think how complicated it is to change the function of a computer sensor. It comes down to: Can we change a module in space?
Example 1: Once in flight: You cannot change the system: Classic example is the Hubble Space Telescope. In this extremely rare case, which was only made possible by being in such a Low Earth Orbit (LEO), a retrofit could be performed by astronauts to correct the spherical aberration that compromised the lens. Four other Space Shuttle missions upgrading/replacing all five of the main instruments were done on Hubble, with the final one being performed in 2009. But again, the exception, far from the norm.
Example 2: Computer Autonomy: Apollo 11 lunar lander. Complete testing and verification of all scenarios on the ground is next to impossible, especially given the constraints of the processing power on the space asset. The repeated crashing of the Apollo Guidance Computer on the lunar lander during its landing forced Neil Armstrong to take control and manually land it.
Example 3: Redundancy: The Space shuttle had four onboard synchronized computers, with a fifth as the backup to allow for 1 real-time onboard computer failure.
Early systems whether Beyond Earth Missions* (L1, L2, Lunar, Mars Orbiters/Landers/Rovers etc) or Near Earth Systems (MEO and GEO Platforms) had 3 main attributes:
- Avoid Failure since upgrade/replacement is almost impossible:
- Multiple copies of processor boot code and FPGA firmware image plus a “Golden Copy” that can never be changed once launched
- Rigorous closed loop testing of the planned mission, including all scenarios and potential failures that can be envisioned
- Upgrade/Update Processor boot code & FPGA firmware as an absolute last resort
- Strict Adherence to Capability Maturity Model Integration (CMMI) for architecture, development, writing and testing of code
- Detailed line-by-line code design reviews
- Independent code/firmware verification teams
- Communication with the Edge and the Cloud (ground stations or re-transmitting satellites) is never guaranteed.
- System Solid State Recorders (SSRs) designed to accommodate ~2.5x the expected volume of data to accommodate missed ground station contacts
- Very limited ground stations for each satellite
- Limited bandwidth for crosslinks to constellations to get the data down
- Limited RF Spectrum allocation based upon mission type (Earth facing satellites have more government bandwidth allotted than outerspace facing satellites)
- Drives type of data compression to not only store the data, but transmit to the ground
- Custom Error Detection And Correction (EDAC):
- Hamming Code – Single Error Correction Doubled Error Detection (SECDED)
- Reed-Solomon Error Correction
- Triple Modular Redundacy (TMR)
- Bit Interleaving
- Cyclic Redundancy Check (CRC)
- Parity bit
As such, the goals of Space Missions Computation: Capture, Store, Forward…and Wait for Action — Collect data from all sensors, store onboard until over ground station and downlink to the ground for post-processing. This is exactly what we saw in Industrial IoT.
And the Computing Required to achieve these missions — Other than limited autonomous redundancy management under strict Concept Of Operations CONOPS, human managed/operated satellite assets. On-Board Processing OBP was leveraged to capture the data for later analysis and to execute the instructions for closed loop management of the satellite Avionics/Command & Data Handling (C&DH)/Data Management Subsystem (DMS) and Payload Subsystems.
In the second post, we will discuss how Gen 2 systems are reducing the data flow from the systems to the base station and how this is a very short step to Gen 3 autonomous systems and what this revolution brings to the table.