À propos du projet

Generalized ADCS est un framework Python open-source conçu pour les systèmes de détermination et de contrôle d'attitude (ADCS) des satellites, ciblant la recherche, le prototypage et le développement de logiciels de vol. Il met l'accent sur la généralité, la modularité et la transparence pour les flux de travail modernes de contrôle et d'estimation des engins spatiaux. Les principales fonctionnalités incluent une dynamique d'attitude 6-DOF entièrement généralisée avec intégration RK4, une propagation orbitale généralisée, des cadres d'estimation (UKF, SRUKF, UAKF, SRUAKF, estimateurs orbitaux, filtres personnalisés), des cadres de contrôle (PD, LQR, ALTRO, définis par l'utilisateur), la modélisation de capteurs (magnétomètres, gyroscopes, capteurs solaires, GPS) et la modélisation d'actionneurs (roues de réaction, magnéto-coupleurs). Il prend en charge les systèmes sous-actionnés et sur-actionnés et comprend un catalogue croissant de composants à l'échelle CubeSat. Les états du vaisseau sont représentés via ADCS.State (vitesse angulaire, quaternion, moment des roues de réaction), avec des estimateurs utilisant ADCS.EstimatorState pour l'état physique, les paramètres et la covariance. Des conversions explicites de tableaux préservent l'ordre numérique aux frontières SciPy et du planificateur natif. Des modules complémentaires C++ optionnels (trajectory_planner, SALTRO) sont disponibles mais non requis pour la fonctionnalité de base. L'installation se fait via pip (Python 3.10+), avec des extras pour la visualisation, le développement, la documentation et la chaîne d'outils C++. Le projet est basé sur la recherche doctorale de Patrick McKeen et a été présenté lors de conférences SmallSat.