Une architecture Data « sur mesure » pour Mars Insight

Il est des objets connectés dont il est particulièrement complexe de récupérer les données. La sonde Mars Insight est certainement de ceux-là puisque ses données doivent parcourir 76 millions de km pour nous parvenir. Une série de satellites relais transmettent les mesures réalisées par la sonde, notamment celles de son sismomètre qui sont traitées au CNES, à Toulouse.

Mars Insight a atterri à la surface de Mars le 26 novembre 2018. Depuis lors, le petit atterrisseur retransmet des données depuis la surface de la planète rouge, essentiellement des données relatives à la composition du sol martien. Si la mission est pilotée par la NASA et le célèbre JPL (Jet Propulsion Laboratory), le « lander » embarque des instruments issus de divers laboratoires. Outre le HP3, un capteur conçu par le DLR allemand (« Deutsche Zentrum für Luft- und Raumfahrt ») qui mesure la température et l’humidité du sol à différentes profondeurs, le capteur américain RISE qui doit mesurer les gradients de rotation de la planète Mars, c’est bien le sismomètre de l’IGPG (Institut Physique du Globe de Paris) qui est au cœur de la mission Mars Insight.

SEIS déployé sur Mars - Crédit photo NASA JPL-CaltechSEIS déployé sur Mars - Crédit photo NASA JPL-Caltech

Baptisé SEIS (pour Seismic Experiment for Interior Structure), celui-ci ressemble à un petit dôme qui a été déposé sur le sol au moyen du bras robot.

Le sismomètre est extrêmement sensible puisqu’il va notamment mesurer les séismes qui agitent le sol martien, mais aussi détecter tout impact de météorite, où qu’il survienne sur la planète. Cet instrument est l’aboutissement de 30 années de recherche de Philippe Lognonné, chercheur en planétologie et sciences spatiales à l’université Paris Diderot / IPGP.

Toutes les mesures du sismomètre français sont transmises à l’ordinateur de bord du « lander » qui est architecturé sur un processeur RAD 750 cadencé à 115,5 MHz et doté de 16 Go de mémoire flash. Pour une sonde spatiale conçue au début des années 2010, il s’agit d’une plateforme embarquée particulièrement puissante (l’atterrisseur précédent, Phoenix, ne disposait que d’une puce à 20 MHz), mais sa puissance peut paraître bien modeste ; son microprocesseur n’est en fait que le PowerPC 750 qui équipait les premiers iMac à la fin des années 90…

Le développement de la plateforme Data est initié en 2014

Le principe de la mission Insight a été lancé au début des années 2010 et c’est en 2014 que le CNES désigne Capgemini à l’issue d’un appel d’offre afin de développer le SISMOC (SeIS on Mars Operation Center). Il s’agit du centre d’exploitation des données issues de ce sismomètre et de données secondaires relatives aux pressions, températures et vitesse du vent mesurée par le « lander ». Le projet de développement de la plateforme est lancé le 26 mai 2014, le tir a finalement eu lieu en mai 2018 pour un atterrissage en novembre 2018.

Comme c’est le cas dans ce type de programme spatial, la recette du centre s’est achevée alors que le vol avait débuté et le SISMOC est maintenant exploité par le CNES sur ses propres infrastructures informatiques. Il délivre les données du SEIS aux scientifiques des différents laboratoires impliqués dans le projet, à commencer par l’IPGP, le CAB en Espagne, l’ETH en Suisse et les laboratoires américains de Cornell/UCLA

« La particularité de ce projet, c’est que l’équipe projet devait être très réactive, tienne absolument les délais fixés tout en étant très souple afin de faire face aux multiples aléas qui jalonnent ce type de projet » explique Jean-Michel Candelle, chef de projet « SISMOC » pour le CNES chez Capgemini. « Nous avons mené ce projet sur un mode agile, même si mon approche est avant tout d’être pragmatique. Je n’applique pas Scrum dans son intégralité, mais je tire parti de tels ou tels aspects des méthodes agiles pour mener à bien le projet. »

Une plateforme Data développée à mesure de la rédaction des spécifications

Le SISMOC a été conçu sur un principe de « marguerite », avec 6 pétales articulés autour d’un socle commun, chacun correspondant aux grandes fonctions attendues de la plateforme, dont l’acquisition et la distribution des données, mais aussi la supervision des instruments, leur programmation, les corrélations temporelles, l’amélioration des données et la production des données pour les scientifiques.

Marguerite SISMOC Cycle de développement Livraison pouvant s‘effectuer à chaque étapeMarguerite SISMOC - Cycle de développement - Livraison pouvant s‘effectuer à chaque étape

Afin de développer le SISMOC en même temps que le CNES rédigeait ses spécifications détaillées, le projet a été découpé par grands pétales, chacun avançait à son propre rythme, l’objectif était de tenir absolument la deadline fixée.

A ces pétales initiaux sont venus s’ajouter d’autres fonctions, dont la détection des impacts de météorites, la gestion des événements du buffer, etc.  En tout, la version finale de la marguerite comptait 12 pétales. « Chaque fonction est indépendante et c’est tout l’intérêt de cette approche car au début du projet, nous savions globalement ce qu’il faudrait réaliser, mais nous n’avions pas les détails, les spécifications n’arrêtant pas de bouger au fur et à mesure de l’avancement du projet. Suivre un cycle en V aurait contraint l’équipe à de multiples arrêts et nous aurions accumulé les retards. Nous avons préféré développer chaque pétale de cette marguerite en suivant son propre cycle de développement. »

Ainsi, les développements ont rapidement commencé sur le volet acquisition de données, jusqu’à un certain point où l’équipe de Jean-Michel Candelle a dû attendre que le JPL (« Jet Propulsion Laboratory ») et la NASA communiquent les spécifications finales des transferts de données qui allaient être relayée au CNES. Le travail a commencé le 26 mai 2014 et une première version du SISMOC était livrée au CNES dès la fin du mois de juin. Pour Capgemini, le projet SISMOC est un prolongement du projet FIMOC qui était le centre d’exploitation des instruments français embarqués à bord du rover Curiosity.

Exploiter la faible bande passante vers mars, un défi du projet Mars Insight

Parmi les défis du traitement des données de Mars Insight, les échanges de données avec l’atterrisseur, posé à la surface de Mars.

« L’un des principaux problèmes de cette mission est la limite en termes de bande passante disponible » résume Sébastien Fieux, responsable technique  du projet SISMOC chez Capgemini : « Les instruments embarqués sur le « lander » génèrent environ 1 Go de données par jour, mais la bande passante totale disponible ne dépasse pas 40 Mo par jour. Les données doivent passer via plusieurs satellites relais en orbite autour de mars, et sur une journée martienne, cela ne représente que 2 à 3 occasions seulement d’envoyer des données. »

Le JPL qui reçoit les données via ses antennes satellites transmet au CNES les fichiers binaires contenant des données brutes de SEIS ainsi que des données que quelques autres capteurs du « lander » via un protocole propriétaire du JPL. La problématique n’est pas la volumétrie des données, mais la faiblesse de la bande passante disponible : impossible de récupérer toutes les données mesurées par les capteurs.

Sébastien Fieux détaille le protocole mis en place : « Les données sont enregistrées en haute résolution à bord du « lander » sur un buffer qui peut stocker environ 6 semaines de fonctionnement. Un premier traitement est réalisé sur ces données afin de réaliser un sous-échantillonnage, car la compression de données ne suffit pas pour transmettre l’ensemble des mesures. L’idée est d’envoyer ces données vers la terre afin de permettre aux chercheurs d’avoir une vision globale des événements survenus sur Mars et n’envoyer une demande d’émission des données détaillées vers le « lander » que sur un intervalle de temps qui entoure l’événement jugé intéressant par les scientifiques. »

Une interface Web pour orchestrer les demandes de données envoyées au lander

La situation se complique quand on se sait que certaines trames de télémesures peuvent être perdues dans l’espace, tandis que d’autres peuvent être reçues en double et qu’il faut une semaine pour que le « lander » puisse transmettre les données demandées.

« Une des premières tâches du SISMOC lorsqu’il reçoit les données est de les ranger par ordre chronologique, recenser tous les trous dans la chronologie et éliminer les doublons » précise Jean-Michel Candelle. « Quand des trous sont détectés dans cette chronologie, une nouvelle demande est générée pour que le « lander » envoie les données manquantes. » En effet, celui-ci n’efface pas de son buffer les données qu’il a envoyées si bien qu’il est possible de lui demander de renvoyer les données manquantes.

Sébastien Fieux souligne : « La gestion des demandes de données s’est avérée bien plus complexe que prévu au départ, mais la solution mise en place s’est avérée plutôt efficace. L’idée est de n’envoyer la demande en s’assurant que celle-ci pourra bien être traitée par le « lander ». S’il y a trop de requêtes, celui-ci n’aura matériellement pas le temps d’envoyer toutes les données demandées. Pour ne pas générer une telle situation, une simulation du « lander » est réalisée au sol afin de s’assurer qu’il pourra effectivement envoyer les données demandées, s’assurer qu’en termes de CPU la charge est tenable et que la bande passante sera suffisante. Il faut s’assurer aussi que les données demandées sont théoriquement encore dans le buffer et n’ont pas été effacées par le « lander ». Sur cet aspect, l’exploitation de la bande passante disponible est une vraie réussite. »

Chaque semaine, les scientifiques se réunissent en comité afin de définir la priorité des requêtes qui doivent être soumise à l’atterrisseur, une interface web leur permettant d’avoir une visibilité sur la file d’attente des requêtes soumises.

Le casse tête de la gestion les horloges du « lander »

Cette gestion des priorités d’envoi des données est complexe, mais les membres du projet se sont heurtés à un autre casse-tête de taille, celui de la synchronisation des horloges de l’atterrisseur.

Sébastien Fieux résume le problème posé par ces horloges embarquées dont la synchronisation est capitale pour la fiabilité des données mesurée par le sismomètre : « Le « lander » dispose de 3 horloges différentes, mais celles-ci ne sont pas toujours allumées afin de limiter la consommation électrique. De plus, il s’agit d’horloges à quartz dérivant en fonction de la température et chacune d’elles dérive de manière différente. Enfin, bien évidemment, aucune synchronisation GPS n’est possible sur Mars. »

« Avec le CNES et le JPL, nous avons élaboré une solution permettant de synchroniser très précisément les différentes horloges. »
Sébastien FieuxResponsable technique projet SISMOC, Capgemini

L’équipe projet a fait intervenir le pôle scientifique de Capgemini afin de mettre au point l’algorithme de synchronisation. « Nous avons fait appel à des experts en mathématiques, afin de nous assurer que les algorithmes d’interpolation des données temporelles et la synchronisation étaient corrects d’un point de vue théorique. Avec le CNES et le JPL, nous avons élaboré une solution permettant de synchroniser très précisément les différentes horloges. C’était nécessaire car une petite erreur dans la chronologie des mesures peut entrainer des erreurs très importantes sur l’analyse de l’onde reçue et la nature des sols traversés par celle-ci. »

Le sismomètre fonctionne de manière optimale

Posé sur la surface martienne en décembre 2018, le sismomètre français est totalement opérationnel et la communauté scientifique travaille désormais sur les données collectées. La durée de vie théorique de SEIS est d’une année martienne, renouvelable une fois, soit entre 2,5 à 5 années en année terrestre. Mais toute la communauté scientifique espère que Mars Insight suivra l’exemple de Curiosity qui, près de 7 ans après son atterrissage sur Mars, continue encore d’envoyer des données aux scientifiques.

Le projet de développement du SISMOC a représenté 4500 hommes et femmes / jour avec 27 profils d’ingénieurs différents qui ont œuvré à sa réalisation. Des améliorations  continuent à être apportées à la plateforme, mais le regard de Jean-Michel Candelle est de plus en plus porté sur l’avenir puisque Capgemini - ayant participé à toutes les missions françaises sur Mars - a été sélectionné pour l’infrastructure Data de l’instrument français qui sera embarqué sur le rover Mars 2020.

La mission Mars 2020 décollera en juillet 2020 pour atterrir en février 2021 sur la planète rouge.

« Nous travaillons sur la future mission martienne Mars 2020 pour laquelle nous allons développer le centre d’exploitation du seul instrument français embarqué sur cette mission, le SuperCAM, qui comporte en fait 8 capteurs. » La mission Mars 2020 décollera en juillet 2020 pour atterrir en février 2021 sur la planète rouge. Tout n’est pas complètement finalisé, même si le lancement est prévu pour l’année prochaine. Ce nouveau centre devrait mettre en œuvre le cloud du JPL, mais tout reste encore à faire, c’est le monde du spatial.

Pour approfondir sur Big Data et Data lake

Close