ESA’s Software Systems Division, made up of about 70 people, is tasked with responding to this drive for ever greater autonomy, across all areas of space exploration and applications.
“There are basically two types of mission problem that autonomy addresses,” remarks division head Joachim Fuchs. “One is in critical mission-enabling phases where humans absolutely cannot intervene, such as the ExoMars rover landing, or the Juice mission inserting itself into Jupiter orbit – in both cases the inherent signal delay due to distance leaves them on their own.
“With something like a rocket launch we pretty much know what’s happening, but with a Mars landing there’s many more unknowns, such as the precise dynamics of the atmosphere, so there’s a wide range of potential conditions to cope with. For these situations, it comes down a lot of software testing to take account of all possibilities. If there’s a thruster failure, or just a memory ‘bit-flip’, can the system respond, and still implement what it needs to do?