프로젝트 소개

Generalized ADCS는 위성 자세 결정 및 제어 시스템(ADCS)을 위해 설계된 오픈소스 Python 프레임워크로, 연구, 프로토타이핑, 비행 소프트웨어 개발을 대상으로 합니다. 현대 우주선 제어 및 추정 워크플로우에 있어 일반성, 모듈성, 투명성을 강조합니다. 주요 기능으로는 RK4 통합을 사용한 완전 일반화된 6-DOF 우주선 자세 역학, 일반화된 궤도 전파, 추정 프레임워크(UKF, SRUKF, UAKF, SRUAKF, 궤도 추정기, 사용자 정의 필터), 제어기 프레임워크(PD, LQR, ALTRO, 사용자 정의), 센서 모델링(자력계, 자이로스코프, 태양 센서, GPS), 액추에이터 모델링(반작용 휠, 자기 토커)이 포함됩니다. 저추진 및 과추진 시스템을 지원하며, 큐브위성 규모 구성 요소의 증가하는 카탈로그를 포함합니다. 우주선 상태는 ADCS.State(각속도, 쿼터니언, 반작용 휠 모멘텀)로 표현되며, 추정기는 ADCS.EstimatorState를 사용하여 물리적 상태, 매개변수, 공분산을 처리합니다. 명시적 배열 변환은 SciPy 및 네이티브 플래너 경계에서 수치적 순서를 보존합니다. 선택적 C++ 애드온(trajectory_planner, SALTRO)은 사용 가능하지만 핵심 기능에는 필요하지 않습니다. 설치 방법은 pip(Python 3.10+)이며, 시각화, 개발, 문서, C++ 도구 체인을 위한 추가 기능이 포함됩니다. 이 프로젝트는 Patrick McKeen의 박사 연구를 기반으로 하며 SmallSat 회의에서 발표되었습니다.