Basilisk Reaction-Wheel Desaturation Study
A spacecraft dynamics and controls study of reaction-wheel momentum build-up and magnetic-torquer desaturation across actuator, orbit, disturbance, gain, and sensor-noise cases.

Project definition
Problem statement
Reaction wheels reject external disturbance torque during attitude control, but the stored wheel momentum can continue to increase until actuator speed limits are approached.
The engineering problem is to remove wheel momentum with magnetic torque rods while preserving attitude control, and to measure how actuator authority, orbit geometry, disturbance, control gain, and measurement noise affect the result.
Project objectives
- Build a six-degree-of-freedom spacecraft simulation with a four-wheel pyramid and three magnetic torque rods.
- Implement inertial attitude control and a magnetic momentum-unloading law.
- Compare dipole authority, unloading gain, inclination, disturbance torque, and magnetometer noise across 18 cases.
- Measure wheel momentum, wheel speed, attitude error, control effort, and torque-rod saturation.
- Verify magnetic torque reconstruction and reaction-wheel speed integration independently.
Project structure
Project components
Spacecraft model
Defines rigid-body mass properties, orbit, four reaction wheels, three torque rods, and the disturbance torque.
Attitude controller
Calculates the wheel torque required to maintain the commanded inertial attitude.
Momentum unloading
Commands magnetic dipole from wheel momentum and the simulated geomagnetic field.
Basilisk scenario
Connects dynamics, environment, navigation, control, actuators, messages, logging, and the simulation schedule.
Campaign runner
Executes the 18 prepared cases and retains consistent engineering measures and time histories.
Verification pipeline
Checks equations, configurations, retained results, torque reconstruction, wheel integration, tests, documents, and the container workflow.
Methodology
Project workflow
- 01Load the spacecraft
Read the released mass, inertia, orbit, wheel, torque-rod, controller, disturbance, and campaign settings.
- 02Run the coupled simulation
Basilisk advances the orbit, attitude, reaction wheels, magnetic field, controller, and unloading law.
- 03Retain the evidence
Each case records wheel states, momentum, attitude error, magnetic field, dipole command, and applied torque.
- 04Compare the cases
The analysis measures momentum reduction, wheel-speed margin, pointing response, control effort, and actuator saturation.
- 05Check the calculation
Independent high-rate calculations reconstruct magnetic torque and integrate wheel acceleration from applied torque.
Demonstration scenario
The nominal case reduces reaction-wheel cluster momentum from 0.0204124 to 0.0132149 N m s, a 35.26 percent reduction, while retaining 28.02 percent wheel-speed margin. The torque-rod saturation duty is 99.06 percent, identifying magnetic authority as the principal constraint in the released case.
Engineering
Tools and method
- Tools
- The project uses Python 3.12, Basilisk 2.11.1, NumPy, SciPy, pandas, Matplotlib for subject analysis, simulation, and results.
- Dynamics and control
- Basilisk 2.11.1 models rigid-body motion, reaction-wheel dynamics, orbital motion, magnetic torque, and message-based flight software.
- Campaign
- Eighteen controlled cases vary one principal actuator, environment, disturbance, control, or noise condition at a time.
- Analysis
- Python, NumPy, SciPy, pandas, and Matplotlib produce full-precision tables, summaries, and figures from the retained histories.
- Verification
- Independent closure checks, 51 tests, 99.43 percent branch-aware coverage, dependency checks, repository validation, and a digest-pinned Linux container run support the release.
Testing
Evaluation
Evaluation measures
- Reaction-wheel cluster momentum reduction
- Peak wheel speed and remaining speed margin
- Attitude error and body-rate response
- Magnetic dipole command and saturation duty
- Magnetic-torque reconstruction error
- Reaction-wheel integration error
Project boundaries
- The geomagnetic environment uses a centered-dipole Earth model rather than IGRF or WMM.
- The body disturbance is constant and does not represent a measured mission torque spectrum.
- Navigation is truth-based, and the magnetic noise model omits bias, scale factor, self-field, and calibration effects.
- Reaction wheels and torque rods use idealized actuator behaviour.
- The spacecraft is rigid and omits flexible modes, power, thermal behaviour, hardware testing, and flight validation.
Included
- 01Complete Python and Basilisk source code
- 02Released 18-case spacecraft simulation campaign
- 0315,336 retained time-history rows in CSV and JSON formats
- 04Twelve labelled engineering figures and diagrams
- 0571-page project report in PDF and editable Word formats
- 0617-page setup and usage guide in PDF and editable Word formats
- 0754 annotated references and two attributed NASA literature images
- 0851 automated tests with 99.43 percent branch-aware coverage
Project record
No information is collected on this page.
- Permanent project ID
- GP-AE-0EMGW7R
- Catalogued
- 21 Aug 2026
- Completed
- 28 Aug 2026
- Verified
- 28 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.