Skip to content
STELLA

STELLA

When GPS Fails

Created on 8th February 2026

STELLA

STELLA

When GPS Fails

The problem STELLA solves

Problem Being Solved:
Autonomous UAV navigation in GPS-denied or GPS-compromised environments, where jamming, spoofing, or obstruction removes the absolute positioning reference required for mission execution.

Why This Matters:
Without GPS, navigation becomes a state estimation problem under uncertainty, and small sensor errors accumulate into large position drift, causing loss of situational awareness and mission failure.

Core Approach:
Stella replaces satellite dependence with onboard sensing and physics-based modeling, treating navigation as a probabilistic estimation task rather than a pattern-recognition problem.

How It Works:
It fuses visual odometry, inertial measurements, barometric altitude, and magnetic heading using a nonlinear state estimator that predicts motion through physical dynamics and corrects it using sensor observations.

Design Philosophy:
The system prioritizes physics-driven models and probabilistic sensor fusion over pure machine learning to ensure interpretability, predictable behavior, and robustness in unseen environments.

Error and Drift Management:
Sensor noise and bias are explicitly modeled, and uncertainty is propagated and corrected at every step, enabling bounded error growth and graceful degradation when individual sensors become unreliable.

Outcome:
Stella enables resilient, real-time waypoint navigation in GNSS-denied conditions by maintaining continuous pose estimation using only onboard sensing and uncertainty-aware fusion.

TAM–SAM–SOM
The global autonomous and defense UAV navigation market represents a $15B total addressable market (TAM), with GPS-denied and resilient navigation systems comprising a $9B serviceable available market (SAM), and an initial serviceable obtainable market of $500M focused on defense, industrial inspection, and high-risk autonomous operations (SOM).

Challenges we ran into

  1. Kalman Filter Divergence: Initial error grew >15m during GPS outages. Fix: Adaptive process noise + covariance checks → bounded to 3.2m max.
  2. Optical Flow Aliasing: Unreliable at >5 m/s speeds. Fix: Velocity-dependent measurement weighting + outlier rejection.
  3. Matrix Inversion Crashes: Numerical instability caused NaN propagation. Fix: Joseph-form updates + Cholesky decomposition + lower noise bounds → zero crashes in 10k+ runs.
  4. Frontend Lag: 900 data points froze browser. Fix: Virtualized scrolling + display limit + React.memo → smooth 60fps.
  5. Sensor Timing: Mixed sampling rates (GPS: 1Hz, IMU: 100Hz) caused conflicts. Fix: Asynchronous updates + timestamp buffering.
  6. Heading Ambiguity: Magnetometer 180° flips. Fix: 3-axis vector fusion + gyro complementary filter → <5° error.
  7. CORS Errors: Backend blocked frontend. Fix: FastAPI CORS middleware config.
  8. Waypoint Overshoot: 2-3m overshoots. Fix: Velocity-based braking + lookahead control → 0.5m accuracy.
    Key Lesson: Real-time visualization caught issues logs missed: watching error spike during jamming made root causes obvious instantly.

Discussion

Builders also viewed

See more projects on Devfolio