Об этом проекте

Generalized ADCS — это открытый Python-фреймворк, разработанный для систем определения и управления ориентацией спутников (ADCS) и ориентированный на исследования, прототипирование и разработку бортового программного обеспечения. Фреймворк делает акцент на универсальности, модульности и прозрачности для современных рабочих процессов управления и оценки состояния космических аппаратов. Ключевые возможности включают полностью обобщенную 6-DOF динамику ориентации космического аппарата с интегрированием методом RK4, обобщенную орбитальную пропульсию, фреймворки оценки (UKF, SRUKF, UAKF, SRUAKF, орбитальные оценщики, пользовательские фильтры), фреймворки управления (PD, LQR, ALTRO, пользовательские), моделирование датчиков (магнитометры, гироскопы, солнечные датчики, GPS) и моделирование исполнительных механизмов (реактивные колеса, магнитные катушки). Поддерживаются недогруженные и перегруженные системы, а также доступен растущий каталог компонентов масштаба CubeSat. Состояния космического аппарата представляются через ADCS.State (угловая скорость, кватернион, импульс реактивного колеса), при этом оценщики используют ADCS.EstimatorState для физического состояния, параметров и ковариации. Явные преобразования массивов сохраняют числовой порядок на границах SciPy и нативных планировщиков. Доступны необязательные дополнения на C++ (trajectory_planner, SALTRO), но они не требуются для основной функциональности. Установка выполняется через pip (Python 3.10+) с дополнительными пакетами для визуализации, разработки, документации и инструмента C++. Проект основан на диссертационном исследовании Патрика Маккина и был представлен на конференциях SmallSat.