A spacecraft Guidance, Navigation, and Control (GNC) simulation platform for studying orbital motion, attitude dynamics, sensing, estimation, actuation, feedback control, and autonomous maneuvering.
- Build a modular spacecraft digital twin from first principles.
- Connect orbital and rigid-body dynamics to realistic sensors and actuators.
- Implement state estimation and closed-loop attitude/orbit control.
- Quantify controller and estimator performance under disturbances and uncertainty.
- Produce reproducible experiments, visualizations, and a publication-quality technical contribution.
Software: Python, NumPy, SciPy, pandas, Matplotlib, JupyterLab, pytest
Models: orbital mechanics, rigid-body rotational dynamics, sensor/actuator models, environmental disturbances
Methods: state-space modeling, numerical integration, PID/LQR control, Kalman filtering/EKF, Monte Carlo analysis
| Path | Purpose |
|---|---|
notebooks/ |
Numbered investigations and demonstrations |
src/spacecraft_dynamics/ |
Reusable simulation/GNC package |
configs/ |
Spacecraft, orbit, sensor, actuator, and experiment parameters |
tests/ |
Unit and regression tests |
data/ |
Small generated/reference datasets only |
figures/ |
Generated plots and diagrams |
docs/ |
Theory notes and technical documentation |
publication/ |
Essay/paper manuscript, figures, and reproducibility material |
examples/ |
Small runnable end-to-end scenarios |
- Two-body orbital propagation
- Rigid-body attitude propagation
- Reaction-wheel attitude control
- Sensor simulation and measurement noise
- Attitude estimation
- Closed-loop pointing and stabilization
- Environmental disturbances
- Autonomous maneuver sequence
- Monte Carlo robustness study
- Publication experiment
The final contribution should make a narrow, defensible technical claim rather than simply describe the simulator. A strong direction is a reproducible comparison of attitude-estimation/control performance under realistic sensor noise, actuator limits, model uncertainty, and external disturbances.
See publication/OUTLINE.md.