Skip to main content

🚀 Generalized ADCS

STARLab Logo Small Satellite Collaborative Logo

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

📦 Installation

pip install generalized-adcs

Optional extras: viz (3-D orbit animation), dev (test tooling), docs (documentation build), cpp (toolchain for the optional C++ add-ons).

pip install "generalized-adcs[viz]"

Requires Python 3.10 or newer. For deterministic reproduction of published campaign results, see requirements-repro.txt in the repository.

✨ Key Features

Tracking a ground target

  • ✅ 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

Spacecraft attitude states are represented by ADCS.State (w, q, and reaction-wheel momentum h). Estimators use ADCS.EstimatorState for the physical state, estimated parameters, and covariance. Explicit from_array() and as_array() conversions preserve the established numerical ordering at SciPy and native-planner boundaries.

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.

📚 Academic Background

This project is based on the PhD research of Patrick McKeen:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

generalized_adcs-0.1.8.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

generalized_adcs-0.1.8-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file generalized_adcs-0.1.8.tar.gz.

File metadata

  • Download URL: generalized_adcs-0.1.8.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for generalized_adcs-0.1.8.tar.gz
Algorithm Hash digest
SHA256 70736c353d531664e6b518dde6e23f90f0f6ba106ffc6429baef7903c0e570ab
MD5 783c37cb5dd4c174e902fac26079a117
BLAKE2b-256 66485ff6568ab38df9ec4ee481d013b39d407ec3d16afb085b37aa3ea81ef1df

See more details on using hashes here.

Provenance

The following attestation bundles were made for generalized_adcs-0.1.8.tar.gz:

Publisher: publish.yml on nscheuer/Generalized_ADCS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file generalized_adcs-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for generalized_adcs-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 fffe4c34df56740832e31c49b7a4fc41e220e44fac68f952eebea1727ffbff42
MD5 13efc74c0a050b94195414fab1e3f215
BLAKE2b-256 ad63fb3b5b8f1746132905f41db37fbe1b2160ab07ce1c0e45679009f2a5e8b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for generalized_adcs-0.1.8-py3-none-any.whl:

Publisher: publish.yml on nscheuer/Generalized_ADCS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 files

0.1.5

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page