Skip to content

Repository files navigation

Pursuit Swarm — Hack the 6ix 2026

Two used Traxxas trucks hijacked at the ESC level become an autonomous pursuit team. Each truck carries an ESP32 (PWM + failsafe), a Raspberry Pi 4, and a camera. Trucks localize by reading printed AprilTags on the walls (solvePnP against a surveyed map), avoid obstacles with a local floor-segmentation reflex, and stream frames to a GPU laptop running ReID person tracking — a judge clicks one stranger on the dashboard and the pack coordinates to corner THAT person in a figure-8 arena ("seal the waist, sweep the lobe"). A QNX node arbitrates safety (speed clamp, geofence, heartbeat, e-stop) and runs an on-device TFLite cone detector for the QNX prize track. Private travel-router LAN, zero internet, zero cloud.

Team & ownership

Each person implements their own modules — no writing code in someone else's directory.

Owner Modules Directories
Talia ESP32 firmware, Pi↔ESP serial link, truck wiring/trim, QNX safety gateway (C) firmware/esp32_car/, qnx/gateway/
Angelo Camera capture/calibration, AprilTag localization, Kalman, waypoint following (pure pursuit + speed law), floor reflex robot/
Kai ReID pipeline (YOLO + BoxMOT BoT-SORT + OSNet), click-to-lock, persistent target memory, sighting fusion laptop/perception/
[repo owner] World-model schema, simulator, coordinator (roles/pursuit logic), dashboard/UI, QNX TFLite cone model + Pi export common/, laptop/sim/, laptop/coordinator/, laptop/dashboard/, qnx/sentry/, models/

Network

Private LAN on the TL-WR1502X travel router, subnet 192.168.1.x. Phone-hotspot fallback = edit config/network.yaml only — no code changes.

Host IP Notes
GPU laptop 192.168.1.2 wired
QNX safety node 192.168.1.5
Car 1 Pi 192.168.1.11
Car 2 Pi 192.168.1.12
ESP32 car 1 192.168.1.21 dormant limp-home
ESP32 car 2 192.168.1.22 dormant limp-home
Port Purpose
9001 car status
9002 camera frames
9003 goals / waypoints
9005 QNX heartbeat (10 Hz)
9006 e-stop
8080 dashboard

Getting started (every role)

  1. Clone the repo.
  2. Read CLAUDE.md top to bottom — it holds the verified bench facts and every agreed constant. Don't re-derive what's already proven there.
  3. Work in your directory (table above).
  4. Branch as name/topic (e.g. kai/reid-lock); merge to main often. main always runs the last working demo.
  5. Constants live in config/ — zero magic numbers in code.
  6. Shared data shapes get agreed at Friday kickoff and recorded in docs/schema.md before parallel work starts (a draft proposal is there — adopt, edit, or replace it as a team).

Rules

  • No project code before Fri 10 PM. All code is written inside the hacking window (Fri 10 PM → Sun 9:30 AM). This repo pre-dates the window with structure, configs, and docs only.
  • Commit small and often; tag milestones m1-drives, m2-pursuit, m3-demo, FREEZE.
  • AI use is disclosed per event rules.
  • Pis have no internet on robot-net — code deploys via the rsync script in tools/ (written in-window).

Demo-day startup order (placeholder — finalize at rehearsal)

  1. Router
  2. QNX safety node
  3. Car Pis
  4. Laptop (perception + coordinator)
  5. Dashboard

Milestones

  • M1 — ~Fri 2 AM: one truck drives to a clicked point via tags (exercises every layer once — if it slips, cut scope, don't push).
  • M2 — Sat midday: two trucks + roles corner the ReID-locked human, heartbeat inline.
  • M3 — Sat dinner (SACRED): full demo recorded on video.
  • Stretch, in order: dashboard polish → UNO Q swap (90-min box) → junction cam → search patrols.
  • Freeze T-3 h before judging; three rehearsals; pitch leads with the engineering, ends with the kill-the-coordinator stunt.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages