Skip to content

docs(adr): ADR-180 — through-wall camera↔CSI hand-off demo (Behind the Wall)#1106

Open
ruvnet wants to merge 1 commit into
mainfrom
docs/adr-180-through-wall
Open

docs(adr): ADR-180 — through-wall camera↔CSI hand-off demo (Behind the Wall)#1106
ruvnet wants to merge 1 commit into
mainfrom
docs/adr-180-through-wall

Conversation

@ruvnet

@ruvnet ruvnet commented Jun 15, 2026

Copy link
Copy Markdown
Owner

ADR-180 — "Behind the Wall" demo design

Detailed design for the requested HTML demo: you stand in front of the laptop (camera + CSI agree on your skeleton), walk behind a wall (camera goes blind), the CSI model keeps inferring your skeleton through the wall, then hands back when you return — using the ESP32-S3 (COM9), ESP32-C6 + MR60BHA2 mmWave (COM12), Pi 5 Broadcom nexmon CSI (cognitum-v0), and the laptop camera.

What the ADR specifies

  • Through-wall skeleton inference (the explicit ask): a camera-supervised CSI→pose model (ADR-079) infers a full 17-kpt skeleton; multistatic fusion of S3+C6+Pi5 (RuvSense, ADR-029/030) + AETHER re-ID (ADR-024) make it possible and keep it locked to you.
  • Dead reckoning for dropped CSI (the explicit ask): a per-joint constant-velocity Kalman smoother (reuses pose_tracker.rs) runs at a fixed 30 Hz decoupled from CSI arrival — predict-only on dropped frames so the figure glides instead of jumping/jittering, with bounded extrapolation + confidence decay → LOST (never a phantom that coasts forever).
  • The honesty mechanism (so this isn't AI-slop): through-wall per-joint skeleton isn't a generally-validated capability, so we measure it — a far-side camera (cognitum-v0 has 17 /dev/video* nodes) records ground-truth pose behind the wall, and the through-wall skeleton is scored against it with the metric-locked PCK harness (ADR-173). The number is published, good or bad. The inferred skeleton renders translucent with per-joint confidence; predicted frames are flagged dead_reckoned.
  • Hand-off state machine CAMERA → HANDOFF_OUT → RF_INFERRED → HANDOFF_IN → CAMERA (+ LOST), a HandoffFrame output contract, a single-file vanilla HTML viewer mirroring ui/observatory/, and a 5-phase falsifiable plan with measured acceptance criteria.

Reuses existing, already-reviewed components (multistatic fuser, ADR-079 supervision, calibration crate, Kalman tracker, Observatory UI) — new code is a hand-off module + dead-reckoning smoother + the HTML page. Signal-path proof untouched.

Status: Proposed. This is the design; implementation is P1-P5 in the ADR. Want me to start P1 (3-source capture wiring) next?

🤖 Generated with claude-flow

…he Wall")

Proposed design for the HTML demo: camera-supervised CSI model infers a full
skeleton, hands off camera→RF when you walk behind a wall, and keeps inferring
the skeleton through the wall (S3 + C6 mmWave + Pi5 nexmon multistatic fusion +
AETHER re-ID). Dead-reckoning Kalman smoother (reuses pose_tracker.rs) keeps the
figure fluid through dropped CSI with bounded extrapolation → LOST, never a
phantom. Honesty mechanism: a far-side camera (cognitum-v0) provides ground
truth behind the wall so the through-wall skeleton PCK is MEASURED + published
(metric-locked, ADR-173), not claimed. Reuses ADR-079 supervision, the
multistatic fuser, the calibration crate, and the Observatory UI — new code is a
hand-off module + dead-reckoning smoother + a single-file HTML viewer.

Co-Authored-By: claude-flow <ruv@ruv.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant