Generalized ADCS is a Python framework for satellite attitude determination and control (ADCS), designed for research, prototyping, and flight-software development. The framework emphasizes generality, modularity, and transparency for modern spacecraft control and estimation workflows.
🛠 Documentation • 📘 Installation • 🧪 Tutorials • 🤝 Contributing
- ✅ Fully generalized 6-DOF spacecraft attitude dynamics (RK4 integration)
- ✅ Fully generalized orbit propagation
- ✅ Estimation frameworks: UKF, SRUKF, UAKF, SRUAKF, orbital estimators, and custom filters
- ✅ Controller frameworks: PD, LQR, ALTRO, and user-defined controllers
- ✅ Sensor modeling: magnetometers, gyroscopes, sun sensors, GPS
- ✅ Actuator modeling: reaction wheels and magnetorquers
- ✅ Growing catalog of CubeSat-scale sensors and actuators
- ✅ Designed for underactuated and overactuated systems
Optional add-ons:
- trajectory_planner (tplaunch/pysat) and SALTRO (saltro_py) are optional C++ extensions.
- Core ADCS functionality works without them.
- Build instructions are in docs/Install_WSL.md and docs/Install_Windows.md.
This project is based on the PhD research of Patrick McKeen:
- 🔗 Source Code:
https://github.com/patrickmckeen/PhD_Dissertation_Code - 📄 Dissertation:
Computational Methods to Improve Satellite Attitude Determination and Control with a Focus on Autonomy, Generalizability, and Underactuation
https://dspace.mit.edu/handle/1721.1/158874
