JamBoy is an open‑source navigation layer for attritable drones that estimates local position and velocity without GPS by fusing optical flow, map geo‑registration, EKF, and barometric altitude.

Stars

127

7-day growth

+4

Forks

35

Open issues

0

License

MIT

Last updated

2026-07-24

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It offers a full, modular pipeline for GPS‑denied navigation with optional GPU acceleration, sim validation, and detailed hardware deployment guides for a ~$250 COTS build — all under an MIT license.

Who it is for

  • Developers building autonomous drones for GPS‑denied environments
  • Researchers evaluating vision‑aided inertial navigation algorithms
  • Hobbyists experimenting with low‑cost drone navigation
  • Defense or civil engineers exploring jam‑proof drone capabilities

Use cases

  • Navigation of drones in areas with GPS jamming or signal loss
  • Autonomous flight in urban canyons, tunnels, or indoors
  • Drone delivery or surveillance in contested or remote locations
  • Flight testing and simulation of vision‑only navigation stacks

Strengths

  • Modular architecture with clear separation of optical flow, geo‑match, EKF, and state machine
  • Optional GPU acceleration (CuPy/PyTorch) for faster map matching
  • Sim‑validated with CI, realistic vibration data, and a confidence script
  • Well‑documented hardware checklists and a COTS prototype bill of materials (~$250)

Considerations

  • Not flight‑certified; only sim‑validated on synthetic data
  • Requires pre‑loaded GeoTIFF maps and a downward camera (global shutter strongly preferred)
  • CPU‑only by default; GPU acceleration requires manual setup and CUDA‑compatible hardware
  • State machine includes stub for terminal tracking, indicating incomplete functionality

README quick start

JamBoy

Jam-proof GPS-denied navigation for attritable drones: optical flow + offline map geo-registration + EKF fusion + barometric altitude.

Name note: JamBoy = GPS jam + Game Boy-era pun. Nothing to do with historical golf caddie slang.

JamBoy is a navigation layer, not a targeting or weapons system. It is sim-validated on synthetic data; it is not flight-certified.

What it does

Given a downward camera, pre-loaded GeoTIFF maps, IMU rates, and barometer altitude, JamBoy estimates local position and velocity without GPS:

  1. Lucas–Kanade optical flow with gyro de-rotation → ground velocity
  2. ORB (optional SIFT) + RANSAC homography against tiled maps → absolute geo fix
  3. 6-state EKF fusion with baro altitude
  4. State machine: Cruise → DeadReckon → Terminal (stub) → Abort
  5. MAVLink out: VISION_POSITION_ESTIMATE (preferred) or reposition fallback

Global shutter is strongly preferred; rolling shutter is supported with fallback modes.

Install (local / CI)

Requires Python 3.10+.

python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -e ".[dev]"

CPU runtime only (no CUDA wheels):

pip install -r requirements.txt
pip install -e ".[dev]"

Optional GPU acceleration (CuPy / PyTorch):

pip install -r requirements-gpu.txt
# or: pip install -e ".[gpu,dev]"

Quick sim gate

export PYTHONPATH=src   # Windows: $env:PYTHONPATH = "src"
python scripts/generate_dummy_data.py
pytest -q
python scripts/run_simulation.py --cpu --profile
python scripts/validate_sim.py

One-shot helper (CUDA if available, else CPU):

bash scripts/run_sim_confident.sh

Realism / vibration data:

python scripts/generate_dummy_data.py --realism
python scripts/run_simulation.py --cpu --profile --realism

Pass criteria and metrics: docs/REQUIREMENTS.md, docs/SIM_TEST_GUIDE.md.

Hardware

PathDoc
Drop-in checklist (any FC + camera)docs/HARDWARE_DEPLOY.md
~$250 COTS BOM (Pi 5 + IMX296 + Pixhawk)docs/COTS_PROTOTYPE.md
Hardware trade study[docs/HARDWARE_TRADE_STUDY.md](docs/HARDWARE_TRADE_STUDY.

Description

GPS-denied drone navigation layer: optical flow + offline map geo-match + EKF → MAVLink (sim-validated).

Related repositories

Similar projects matched by category, topics, and programming language.

lopopolo
Featured
lopopolo GitHub avatar

harness-engineering

Harness Engineering is a methodology for improving coding agent outputs by carefully crafting the environment around them—providing curated context, tools, and executable constraints that encode an organization’s nonfunctional requirements and cumulative lessons.

AI & Machine LearningAI Agents
2,390
slvDev
Featured
slvDev GitHub avatar

esp32-ai

A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.

AI & Machine LearningLarge Language Models
1,960
littledivy
Featured
littledivy GitHub avatar

mimic

mimic captures traffic from any iOS or web app and automatically generates a Python client library that lets you call the app's API like a regular library.

AI & Machine Learning
1,482