Le rover Perseverance, qui a atterri sur Mars avec succès le jeudi 18 février, n'est pas arrivé seul sur la planète rouge. À son bord (fixé à son châssis), un petit hélicoptère semi-autonome, dont la technologie repose sur un Linux mais également des programmes open source.
Ingenuity, c'est son petit nom, aura l'honneur de procéder au premier vol motorisé sur une autre planète ! L'engin pèse moins de 2 kilos, fait la taille d'une boîte de mouchoirs, et ses 2 jeux de pâles ont une circonférence de 1,2 mètres.
Sa mission, différente de celle de Perseverance (qui pour rappel va chercher des signes de vie sur Mars), se présente plutôt sous la forme d'une expérience visant à prouver qu'il est possible de voler sur la planète rouge.
Comme beaucoup d'autres rovers de la NASA, Perseverance tourne sous le système d'exploitation temps réel multitâche VxWorks (propre aux systèmes embarqués). Ingenuity, en revanche, opère sous une distribution Linux open source F Prime développée par le JPL (Jet Propulsion Laboratory, un centre de recherche spatiale de la NASA).
Un logiciel de vol open source customisé par le labo tourne en surcouche de cet OS. Les ingénieurs de la NASA ont prévu de détailler prochainement les composants hardware du système afin que les développeurs puissent eux-mêmes construire leurs propres appareils volants (sur Terre, évidemment 😉). A l'exception de certains éléments avioniques résistants aux radiations (forcément), la majeure partie des composants d'Ingenuity sont des produits du marché accessibles au public.
On sait d'ores et déjà que la distribution Linux est installée sur le processeur Snapdragon 801 de Qualcomm dont est équipé Ingenuity. On retrouve d'ailleurs ce processeur dans pas mal de smartphones !
Comme je l'ai précisé au début de cet article, le petit hélicoptère n'est pas complètement autonome, mais sera en mesure de suivre des plans de vol préconfigurés, basés sur des images du terrain déjà enregistrées. Les solutions embarquées dans le Snapdragon seront en mesure de capturer et d'analyser en direct les images transmises par la caméra orientée vers le bas d'Ingenuity afin d'accompagner sa navigation. En cas de vents forts, l'appareil sera également capable de corriger son trajet de manière autonome.
Ingenuity, qui a envoyé peu après son arrivée sur Mars un rapport de statut opérationnel, réalisera plusieurs séries de vols courts (90 secondes) sur une période d'un mois. La NASA envisagerait l'initialisation de ces vols au cours du mois d'avril, une première pour l'histoire de l'humanité, de Mars et surtout de Linux ! 😉 A noter que le simple fait de quitter le sol sera un accomplissement majeur, la pression atmosphérique au sol de Mars représentant 1/160ème de celle de la Terre au niveau de la mer.