La sonde Mars Climate Orbiter s'est écrasée sur Mars en 1999 à cause d'une erreur de conversion d'unités entre les livres-secondes et les newton-secondes, coûtant 327,6 millions de dollars.
Une sonde martienne échoue à cause d'une erreur d'unité
Le 23 septembre 1999, la sonde Mars Climate Orbiter s'est approchée de Mars à une altitude d'environ 57 km. La NASA visait une altitude comprise entre 140 et 150 km, et la sonde ne pouvait pas survivre en dessous d'environ 80 km.Une conversion d'unités non effectuée est à l'origine de l'échec
La cause de l'échec tient à une conversion d'unités qui n'a jamais été réalisée. Le logiciel au sol de Lockheed Martin, le constructeur, exprimait l'impulsion des brefs allumages des propulseurs en livres-force seconde. La navigation du Jet Propulsion Laboratory (JPL), en revanche, lisait ces mêmes valeurs en newton-seconde.La différence d'unités a conduit à des calculs erronés
Une livre-force équivaut à environ 4,45 newtons, et l'écart s'est accumulé pendant le voyage de neuf mois. Le logiciel de Lockheed Martin exprimait les impulsions en livres-force seconde. La navigation du JPL les lisait en newton-seconde, soit un rapport de 4,45 pour 1.Les allumages fréquents des propulseurs ont aggravé le problème
La désaturation des roues de réaction était 10 à 14 fois plus fréquente que prévu. La sonde est descendue à environ 57 km, soit 23 km en dessous du seuil de survie. Des chiffres exacts, lus dans la mauvaise unité.Une opération de maintenance courante est devenue dangereuse
Ces brefs allumages relèvent d'une procédure de maintenance courante. Le panneau solaire de la sonde, asymétrique, subit la pression de la lumière du Soleil, ce qui fait tourner ses roues de réaction jusqu'à saturation. Il faut alors allumer brièvement les propulseurs pour les « désaturer ».Une mauvaise interprétation a conduit à une trajectoire incorrecte
Selon une analyse récente du rapport, ces désaturations étaient 10 à 14 fois plus fréquentes que ce que les navigateurs avaient prévu, et chacune était consignée dans un fichier produit par l'application SM_FORCES. La spécification exigeait des newton-seconde. Le code fournissait des livres-force seconde, de sorte que chaque poussée modélisée par les navigateurs pesait moins du quart de sa valeur réelle.Personne n'a remarqué l'erreur qui grandissait
Aucun des deux calculs n'était faux en soi. Lockheed produisait des valeurs exactes dans son unité, et le JPL appliquait des formules exactes dans la sienne. Même la version embarquée du calcul, en unités métriques, était correcte : seule la copie restée sur Terre était décalée, ce qui laissait la sonde mieux informée de sa route que ceux qui la pilotaient.Neuf mois de dérive sans correction
Neuf mois de dérive que personne n'a lue. Lancée le 11 décembre 1998 depuis Cap Canaveral par une fusée Delta II, la sonde devait étudier le climat martien. Pendant la croisière, chaque allumage mal interprété a légèrement décalé la trajectoire réelle par rapport à celle calculée par les ordinateurs.Des problèmes non résolus ont mené au désastre
Des anomalies ont été détectées dans les fichiers du logiciel au sol, puis discutées de manière informelle, sans jamais être résolues. Personne ne les a rattachées à la trajectoire. Le 15 septembre, huit jours avant l'arrivée, une correction finale devait placer la sonde à 226 km de la surface en vue de l'insertion en orbite.Un signal final perdu trop tôt
Le 23 septembre 1999, un signal s'est interrompu 49 secondes trop tôt. Le moteur principal s'est allumé à 9h00 min 46 s UTC pour ralentir la sonde. Les équipes s'attendaient à perdre le contact lorsque celle-ci passerait derrière Mars, mais le signal a disparu à 9h04 min 52 s, soit 49 secondes plus tôt que prévu. Il n'a jamais été retrouvé, même après l'écoulement des 21 minutes annoncées d'occultation.Des calculs avec les valeurs correctes révèlent l'erreur
Les calculs refaits avec les valeurs correctes placent le point le plus bas de la trajectoire à environ 57 km, soit 23 km en dessous du seuil de survie. La sonde s'est désintégrée dans l'atmosphère martienne.Une petite erreur a grandi avec le temps
Sur un trajet de plus de 600 millions de kilomètres, l'écart d'environ 90 km par rapport à la cible basse représente moins d'un millionième du trajet. Mars Climate Orbiter n'a donc pas manqué sa cible par hasard, mais à cause d'une minuscule erreur, répétée à chaque allumage, qui a disposé de neuf mois pour grandir.Le coût de la mission était considérable
Coût de la mission : environ 327,6 millions de dollars. Les montants avancés varient selon le périmètre, de 125 millions pour la seule sonde à 327,6 millions en incluant le lancement et les opérations. La perte a également compliqué le programme martien ultérieur de la NASA, car la sonde devait servir de relais de communication pour l'atterrisseur Mars Polar Lander.L'enquête met en lumière plusieurs défaillances
Ce que le comité a critiqué. Publié le 10 novembre 1999, le rapport du Mars Climate Orbiter Mishap Investigation Board identifie la cause directe : le non-respect du système métrique dans le codage de SM_FORCES. Il ne s'arrête pas là. Il souligne des tests insuffisants, une communication inadéquate entre les équipes du JPL et de Lockheed, ainsi qu'une formation incomplète des opérateurs.Un rapport complémentaire sur la gestion de la NASA
Tous ces filets de sécurité auraient dû détecter l'erreur. Chez Lockheed Martin, les ingénieurs en propulsion avaient pris l'habitude d'exprimer la force en livres, alors que la pratique des missions spatiales exigeait une conversion en métrique, que les équipes du JPL supposaient effectuée. Le comité a prolongé son travail par un second rapport, consacré à la gestion de projet à la NASA, daté du 13 mars 2000.