IO - Aerospace software engineering

IO - Aerospace software engineering

Suite de services applicatifs répondants aux exigences et contraintes des nouveaux acteurs du spatial. De conception modulaire, ce système apportera un ensemble de services en mécanique spatiale et orbitographie avant de s'étendre à la mécanique du vol, la gestion de mission et l'intégration d'IA.

IO - Aerospace software engineering
Deutsch English Español Français Italiano

Contexte

Les applicatifs actuels du marché du spatial sont répartis en deux catégories ; les solutions libres d’utilisation et les solutions commerciales.

Les solutions libres comme Spice pour la mécanique spatiale ou Gmat pour la gestion de mission sont des produits de qualité mais isolés, aboutissant à un environnement fragmenté, nécessitant un temps de montée en compétence non négligeable ainsi que des connaissances expertes dans ces domaines.

Le projet Patrius utilisé par le CNES dans certains de ses projets, offre des résultats d'une grande qualité et se rapproche par certains aspects de la partie SDK du module de mécanique spatiale que nous souhaitons développer cependant il requiert des connaissances solides en développement logiciel et mécanique spatiale pour son exploitation. De plus, Patrius souffre d'une interopérabilité et d'une intégration limitée car dépendant de l'environnement Java ce qui peut être un frein important pour le développement de nouveaux outils basés sur des technologies différentes. Et enfin pour terminer, on retrouve les solutions qui ne perdurent pas dans le temps comme JAT (Java Astrodynamics Toolkit).

Les solutions commerciales comme CGI ou FreeFlyer offrent également des services de qualité mais à des coûts non négligeables pour des acteurs du new space. De plus, certains de ces produits sont surdimensionnés pour les besoins d'une structure émergente. 

Face à ce constat, nous proposons de mettre à disposition des nouveaux acteurs du spatial européen une suite d'outils et services adaptée à des plannings et budgets souvent serrés, sans compromis sur la qualité et pouvant être supporté par des systèmes embarqués.

Objectif

Ce projet n’a pas pour but de révolutionner les connaissances actuelles dans l'aérospatiale mais de faciliter l'accès à ces dernières, grâce à une suite de services répondant aux problématiques rencontrées lors de la préparation et du suivi de mission.

Cet ensemble de solutions se doit d’être cohérent, multiplateforme et évolutif pour s’intégrer facilement dans un système d'information globale ou un système embarqué à fortes contraintes en énergie ou ressources de calculs.

Livrables

Cette solution sera disponible sous deux formes :

  • Un SDK afin que la société puisse intégrer la solution dans ses propres applications et bénéficier d’un mode d’exécution autonome.
  • Une API permettant de consommer l’applicatif en tant que service, ce qui permettrait de distribuer les calculs, mutualiser les coûts et offrir une interopérabilité de haut niveau.

Valeurs

Cette solution sera développée autour de 3 axes :

Qualité : Aucun compromis ne sera fait sur cet axe, la qualité des calculs doit être élevée et la totalité du code source devra être couverte par des tests automatisés.


Simplicité : N’importe quel acteur doit être capable de prendre en main ou d’intégrer cet outil à ses applicatifs en quelques heures. Cela passe par une conception détaillée du système et la mise en œuvre des bonnes pratiques et standards du génie logiciel.


Accompagnement : « Vous n’êtes pas seul ! » Notre communauté se doit d’apporter un support humain pour accompagner l’utilisateur dans l’intégration de ces outils.


Fonctionnalités

Voici une liste non exhaustive des fonctionnalités qui seraient fournies en première intention :

  • Manipulation des référentiels de temps (TDB, UTC, Sonde, ...).
  • Manipulation des référentiels de type inertiel et non inertiel.
  • Obtenir la position et l'orientation des corps, satellites, instruments, ...
  • Propagation d'orbite.
  • Calculs basés sur une surface modélisée.
  • Obtenir des points de survol.
  • Définir les angles d'illuminations.
  • Définir une orbite à partir d'observations.
  • Obtenir une fenêtre satisfaisant des contraintes.
  • Vérifier un champ d'observation, une occultation ou un transit.
  • Conversion de coordonnées équatoriales, rectangulaires, sphériques, ...
  • Manipulation de matrices.
  • Intégration des aberrations.
  • ...

Jalons et délais

L'équipe étant en construction nous ne pouvons pas communiquer de délai pour le moment.

Ce projet sera réalisé en 8 phases mais sera exploitable dès la fin de la phase 3.4.

 

  1. Définition du besoin
  2. Conception globale
  3. Module mécanique spatiale / Orbitographie
    1. Conception détaillée
    2. Réalisation SDK
    3. Qualification SDK
    4. Livraison SDK
    5. Réalisation serveur d’identité
    6. Qualification serveur d’identité
    7. Livraison serveur d'identité
    8. Réalisation API
    9. Qualification API
    10. Livraison API
    11. Réalisation Proxy
    12. Qualification Proxy
    13. Livraison Proxy
    14. Documentation
  4. Module embarqué autonome
    1. Conception détaillée
    2. Intégration SDK et API
    3. Qualification de l’intégration
    4. Livraison
    5. Documentation
  5. Module mécanique du vol et performance
    1. Conception détaillée
    2. Réalisation SDK
    3. Qualification SDK
    4. Livraison SDK
    5. Réalisation API
    6. Qualification
    7. Livraison API
    8. Documentation
  6. Développement portail et interface utilisateur
    1. Conception détaillée
    2. Réalisation portail
    3. Qualification portail
    4. Livraison portail
    5. Documentation
  7. Module préparation et suivi de mission
    1. Conception détaillée
    2. Réalisation
    3. Qualification
    4. Livraison
    5. Documentation
  8. Module IA
    1. Conception détaillée
    2. Réalisation
    3. Qualification
    4. Livraison
    5. Documentation

Les technologies et méthodes de développement modernes nous permettraient de réaliser les trois premières phases en moins d’un an avec seulement 2 développeurs. Imaginez ce que nous pourrions faire avec d’avantage de membres.

Comment

  • Une gestion de projet (MBD) Model Based design avec une composante CMMI.
  • Un environnement de génie logiciel permettant d’industrialiser les développements et de piloter toutes les phases du projet.
  • Une chaine d’intégration et de déploiement continu.
  • Un langage de programmation moderne et cross-plateforme.
  • Une phase de conception détaillée.
  • Des tests automatisés.

Ressources matérielles et logicielles

Pour que ce projet voit le jour nous aurons besoin de ressources matérielles et logicielles ; la plupart seront libres et gratuites, d’autres devront faire l’objet d’investissement.
A l’heure actuelle, les principaux investissements seraient matériels.

Initialement nous aurons besoin d’un serveur permettant le développement et la qualification de l’API lors de la phase 3 puis d’un microcontrôleur avec routeur pour l’intégration de la version embarquée.
Cependant nous serions ouverts à des ressources serveur mutualisées mises à disposition par un partenaire pour le déploiement de notre API.

Ressources Humaines

Pour que ce projet grandisse nous aurons besoin de compétences hétérogènes.

Tu as des compétences en physique, orbitographie, mécanique du vol ... ou une première expérience dans le spatial alors tu pourrais peut-être nous accompagner dans l’expression du besoin et le développement du système ?

Tu as le contact facile, alors pourquoi ne pas entrer en relation avec les différents acteurs pour promouvoir et partager nos idées ?

Tu n’as pas de compétences techniques mais une bonne qualité rédactionnelle alors pourquoi ne pas prendre part à l’élaboration de la documentation ?

Tu as des compétences en développement logiciels mais toutes ces équations te donnent le tournis ? Pas d’inquiétude, nous allons te donner les armes pour démystifier tout ça !

Au-delà des compétences techniques, nous souhaitons avant tout construire une équipe autour de qualités humaines comme la curiosité, le partage, la bienveillance mais aussi la créativité, la motivation et la Gnaque !

Pourquoi nous rejoindre

  1. Si tu as lu jusqu'ici c'est que tu fais certainement parti de ces gens avec une curiosité insatiable alors crois-nous tu ne vas pas être déçu !
  2. Vous pourrez dire à vos petits-enfants que vous aurez modestement contribué à la grande aventure du spatial.
  3. C'est l'occasion de consolider votre CV avec une nouvelle expérience.

Et maintenant ?

Aujourd’hui tout reste à faire et la première chose est de construire une équipe alors n’hésitez pas à embarquer sur le projet, le train pour le new space va partir !

haut