Academy Projects ML Assisted Attitude Estimation
AI / ML

ML Assisted Attitude Estimation

Fuse magnetometer, gyroscope, and coarse sun sensor data with a compact ML model to estimate attitude. Compare accuracy and stability against a classical filter approach using the same sensors.

16-22 months Advanced 0.5U
0.5U
Form Factor
Advanced
Difficulty
16-22 months
Timeline
5
Disciplines

About This Project

Fuse magnetometer, gyroscope, and coarse sun sensor data with a compact ML model to estimate attitude. Compare accuracy and stability against a classical filter approach using the same sensors.

Category: AI / ML

This is an advanced-level project with an estimated timeline of 16-22 months using a 0.5U form factor.

Overview

Determining a satellite's orientation in space — its attitude — is essential for pointing instruments, antennas, and solar panels in the right direction. Traditional approaches use well-established mathematical filters that combine magnetometer, gyroscope, and sun sensor data with physical models of Earth's magnetic field and the Sun's position. These work well when the models are accurate and the sensors are well-calibrated, but they degrade when conditions change — sensor drift over time, magnetic interference from the satellite itself, or operating in unusual orbital regimes. A machine learning approach trains a model to map raw sensor readings directly to attitude estimates, potentially learning to compensate for systematic errors and sensor imperfections that classical filters cannot easily handle. This experiment runs both approaches simultaneously on the same sensor data, comparing accuracy, stability, computational cost, and robustness to sensor noise. The result is a rigorous head-to-head comparison with real orbital data — a publishable contribution to the growing literature on ML-assisted spacecraft autonomy. The project requires knowledge of both spacecraft dynamics and machine learning, making it one of the more technically demanding options in the catalog.

Technical Details

Fuse data from PyCubed onboard IMU (ICM-20948 magnetometer + gyroscope) and coarse sun sensor (project 18 or simple photodiode array) using a compact neural network trained to output attitude quaternion. Compare against classical Extended Kalman Filter (EKF) or TRIAD algorithm using same sensor inputs. Train on simulated attitude data from 42 (NASA) or Basilisk (CU Boulder) attitude simulation tools. Deploy quantized model on ESP32-S3. Log both ML and classical estimates for ground truth comparison using star tracker or GPS-derived attitude if available.

Research & Notes

Attitude determination is a core CubeSat challenge. Classical approaches (EKF, UKF, TRIAD) are well-understood but sensitive to sensor calibration errors and magnetic field model accuracy. ML approach potentially more robust to sensor drift and model uncertainty. CU Boulder has published on neural network attitude estimation for CubeSats. Key challenge: training data must be realistic — requires validated attitude simulator. Basilisk (open-source, CU Boulder) or 42 (NASA Goddard, open-source) provide simulation environments. Publishable if ML approach shows measurable improvement over classical filter. Cost: $50-$200 (mostly software, may need ESP32-S3). Complexity: advanced — requires spacecraft dynamics knowledge + ML + embedded systems.

Required Disciplines

This project spans 5 disciplines, making it suitable for interdisciplinary student teams.

CS
EE
Physics
Aerospace
Math

Next Steps

Ready to take on this project? Here's a general roadmap that applies to most CubeSat missions:

  1. Build your foundation: Complete the core modules in the CubeSat Academy to understand spacecraft subsystems, mission design, and development workflows.
  2. Form a team: Recruit students across the required disciplines and identify a faculty advisor. Plan for knowledge transfer between graduating and incoming members.
  3. Write a mission concept: Draft a 1–2 page document outlining your objectives, target orbit, payload requirements, and success criteria.
  4. Connect with a chapter: Join a Blackwing chapter for mentorship, shared resources, and access to the platform ecosystem.
  5. Explore the developer tools: Visit the Developer Portal for platform documentation, SDKs, and hardware specs.
  6. Plan your timeline: Map milestones to your academic calendar. Most projects align well with a 2–4 semester capstone or research sequence.
  7. Reach out: Contact us to discuss your project goals, platform selection, and path to orbit.

Ready to start this mission?

Connect with a Blackwing chapter for mentorship, platform access, and a path to orbit.

Find a Chapter CubeSat Academy