Navigation autonome d’un satellite à partir des étoiles
Une étude simulée : reconnaître les étoiles pour savoir où pointe la caméra.
Date : 2020–2021
ESUS, « Engine in Space testing aUtonomous Software », est le premier satellite du Centre spatial de CentraleSupélec, un CubeSat de 10 × 10 × 34 cm d’environ 3 kg, conçu et construit par des étudiants dans le programme Nanolab Academy du CNES. Sa mission : montrer qu’une carte graphique du commerce, jamais durcie pour l’espace, peut calculer en orbite ; mesurer ce qu’elle y endure ; mettre son logiciel à jour depuis le sol ; et faire tourner un réseau de neurones sur les images d’une caméra embarquée. Une quarantaine d’étudiants y travaillent par groupes : structure, thermique, trajectoire, contrôle d’attitude, communications, énergie, et les charges utiles. En 2021, le satellite visait une orbite à 600 km et un lancement fin 2024, après une phase B en 2021–2022.
Dans le groupe Navigation autonome, créé cette année-là, j’étais chargé de l’algorithme : savoir où pointe la caméra du satellite d’après les étoiles qu’elle photographie, la charge de travail confiée à la carte graphique. Ses résultats sont obtenus en simulation.
La mission a évolué depuis : le CNES présente aujourd’hui ESUS avec deux charges utiles, une caméra et une intelligence artificielle embarquée qui reconnaît les nuages, et un interféromètre du laboratoire XLIM qui mesure le diamètre du Soleil ; selon le Centre spatial, le projet est en conception détaillée, pour un lancement prévu en 2027 (relevé le 13 octobre 2026).
Le résultat




Ce qui a été fait
01
La détection des étoiles
La photo passée en gris, un seuil qui sépare les étoiles du bruit, puis chaque groupe de pixels allumés devient une étoile, avec sa position.
Python · Pillow · NumPy
02
L’empreinte
Vingt cercles de rayon croissant autour de chacune des trois étoiles les plus proches du centre ; le nombre d’étoiles entre deux cercles forme l’entrée du réseau.
Python · NumPy
03
La base d’entraînement
Des ciels simulés depuis le catalogue Hipparcos, huit par étoile, avec quatre seuils de luminosité et des étoiles en trop ou manquées.
skyfield · Hipparcos
04
Le réseau
Une convolution 1D, puis une couche dense, et une sortie par étoile reconnaissable, 2 848 ; de l’étoile reconnue à la direction de visée et à la rotation de la caméra.
05
Les consignes aux autres équipes
Pour le contrôle d’attitude : une visée stable à 0,5° par seconde près pendant des poses de 5 s au plus, et pointée à moins de 1° ; pour les communications, le volume des mises à jour du réseau.
06
Le rejeu de 2026
Le réseau de la note réécrit et entraîné sur des ciels tirés à nouveau à chaque passe, puis essayé sur des photos simulées qui visent le ciel au hasard, avec des étoiles fausses et manquées : la part des étoiles du centre reconnues.
Python · NumPy
Fonctionnement détaillé
Faites défiler : le dessin suit.
01 / 06
Une carte graphique peut-elle calculer dans l’espace ?
Le CubeSat ESUS doit montrer qu’une carte graphique du commerce, une Nvidia Jetson Nano bridée à 5 W, peut calculer en orbite. Quel calcul utile lui confier, avec une petite caméra de 640 × 480 pixels au champ de 44° × 34° ? Le groupe devait choisir la caméra, l’algorithme, et dire au contrôle d’attitude quelle visée tenir.
02 / 06
Viser le ciel plutôt que la Terre
La méthode de l’année précédente reconnaissait des continents. À 500 km, la caméra ne voit qu’environ 400 × 300 km de Terre, courbée, souvent de nuit ou sous les nuages. Les étoiles, elles, sont toujours là, et le catalogue donne leur position : la caméra visera le ciel, et la photo dira où elle pointe.
03 / 06
De la photo à l’empreinte du ciel
La photo passe en gris, un seuil garde les pixels allumés, et les pixels voisins se regroupent en étoiles, une cinquantaine par image. Autour de chacune des trois étoiles les plus proches du centre, vingt cercles de plus en plus espacés, le dernier large comme 70 % de la demi-hauteur : le nombre d’étoiles entre deux cercles forme l’empreinte de ce coin de ciel.
04 / 06
Un réseau de neurones reconnaît l’étoile
Un réseau de neurones lit les vingt nombres, une convolution puis une couche dense, et répond par une sortie par étoile : 2 848 étoiles, jusqu’à la magnitude 5,5. Les trois étoiles reconnues, dont le catalogue donne la position, livrent la direction où pointe la caméra et sa rotation. Le satellite doit tenir sa visée stable, à 0,5° par seconde près, pendant une pose de cinq secondes au plus.
05 / 06
Entraîné sur des ciels simulés
Sans photos prises en orbite, le réseau apprend sur des ciels tirés du catalogue Hipparcos, huit par étoile, avec des étoiles en trop, des étoiles manquées et un seuil de magnitude qui varie. Rejoué en 2026, avec des ciels tirés à nouveau à chaque passe, il reconnaît l’étoile du centre dans 98 % des photos simulées au bruit prévu par la note, et encore dans 90 % avec cinq étoiles en trop et cinq manquées. Tout est simulé : aucune photo réelle.
06 / 06
Ce qui reste à faire avant le vol
Le seuil est réglé à la main, le bruit du vrai capteur reste à modéliser, et rien n’a été essayé au sol avec la carte et la caméra. La note propose aussi, pour trouver la position du satellite sur son orbite, de tourner jusqu’à mettre le bord de la Terre au bord de l’image avant de photographier les étoiles.
Fiche technique
- Date
- 2020–2021
- Contexte
- Un travail d’équipe pour ESUS, le CubeSat 3U du Centre spatial de CentraleSupélec, conçu par des étudiants dans le programme Nanolab Academy du CNES.
- Rôle
- Chargé de l’algorithme, dans le groupe Navigation autonome
- Technique
- Python (NumPy, Matplotlib, Pillow) · skyfield · catalogue Hipparcos · réseau de neurones convolutif
- Supports
- Nvidia Jetson Nano
- Échelle
- 2 848 étoiles à reconnaître · 20 cercles par empreinte · 98 % des étoiles du centre reconnues, en simulation
- Statut
- étude
- Références