Contributions logicielles au projet RIOT OS pour le New Space

Le but de ce projet est de réaliser, de tester et de contribuer l'implémentation d'une Plateforme logiciel open-source pour nano-satellite avec le projet RIOT OS qui est un système d'exploitation open-source.

Outils et langages : C, Make, Eclipse CDT, Visual Studio, Carte STM32 Nucleo et ESP32.

Le « Newspace » désigne une nouvelle approche de l’industrie spatiale, fondée sur la capacité de plus en plus courante de pouvoir envoyer des micro-satellites (aka cubesats) en orbite autour de la Terre. Le temps et le coût de développement de ces micro-satellites sont réduits grâce l'utilisation de composants sur étagère aux dimensions standard qui sont fixés dans des structures aux dimensions standards (plusieurs cubes de 10x10x10 cms).



Le CSUG (Centre Spatial Universitaire de Grenoble) a déjà en orbite 2 projets de cubesat : Amical et Thingsat. Dans le cas de Thingsat, une partie du logiciel a été développé au moyen du système d'exploitation RIOT OS spécialisés pour les systèmes embarqués à base de microcontrôleurs.

L'objectif du projet est de concevoir une plateforme d'émulation complète d'un cubesat (aka segment vol) et de son segment sol (ie la station de reception et d'émission au sol).

L'architecture d'un segment vol (cubesat) est constitué de :
 * l'Onboard Computer (OBC) qui pilote un module de communication et un module de controle de l'attitude (ADCS). Il reçoit du segment des commandes à exécuter (maintien d'une attitude, manoeuvre quand il comporte des propulseurs, envoie de commandes vers les charges utiles) et envoie des télémetries (niveau de batterie, attitude ...)
 * les charges utiles (Payload) qui executent les missions du satellite (en general, des prises de photo avec des imageurs dans plusieurs spectres de lumière).

Les communications entre l'OBC et les charges utils se font au moyen d'un bus CAN (bus industriel utilisé dans tous les véhicules terrestres)

Dans votre cas, les communications entre le segment vol et le segment sol se font en modulation LoRa 2.4GHz.

Le travail consistera à récupérer et à assembler une partie des modules logiciels et pilotes de périphériques fournis par RIOT OS (SDCard, FatFS, SUIT, LoRaWAN, Gyroscope, GPS, Bus CAN ...) ou développé par le CSUG pour la mission Thingsat (SX1280, OBC, LibCSP, ...) pour réaliser les firmwares de l'OBC et de charges utiles (générique, spécialisée à prise de photos).

La plateforme matérielle pour les tests sera:


 * Segment Vol
 * OBC : Nucleo F446RE + Shield CAN BUS + Lecteur SDCard + Real Time Clock + Module GPS + Module SX1280 LoRa 2.4 GHz + Module Gyroscope (mesure d'attitude)
 * Payload : Nucleo F446RE + Shield CAN BUS + Camera Arduino (en option)
 * Segment Sol: Nucleo F446RE ou ESP32 + Module GPS + Module SX1280 LoRa 2.4 GHz

Cette plateforme de test servira à l'intégration en continue (CI) des mises à jour de firmware de l'OBC ou des charges utiles afin de préparer le déploiement de la mise à jour à travers l'espace (Firmware Update Over The Space).

Ce projet servira de "blueprint" open-source pour des projets de micro-satellites du CSUG et d'autres centres spatiaux universitaires français et européens.