mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
research(R6.2.1): 3D antenna placement — ceiling-only gives 0% coverage; mixed-height wins (#724)
Extends R6.2 from 2D ellipse to 3D ellipsoid + 3D target zones (bed at z=0.3-0.6, chair at z=0.5-1.2, standing at z=1.0-1.7 in a 5x5x2.5 m room). Counter-intuitive headline: | Strategy | Coverage | |-------------------------------------------|---------:| | Desk-height (0.8 m walls) | 22.2% | | Wall-mount (1.5 m walls) | 17.4% | | Ceiling-only (2.5 m grid) | 0.0% | <-- FAILS | Mixed walls + ceiling | 25.7% | <-- BEST Ceiling-only fails because both antennas at 2.5 m create a Fresnel ellipsoid sitting AT ceiling height (2.1-2.9 m vertically). Target zones at 0.3-1.7 m are below the envelope by 0.4-2.0 m. The 39 cm transverse radius is symmetric around LOS, so a flat horizontal link at any height misses targets at any OTHER height. This is the 3D version of R6.1's on-LOS-degeneracy finding. A horizontal link at any single height has its envelope concentrated at that height. Why mixed wins: best placement is Tx (5.0, 4.0, 0.8) + Rx (0.0, 4.0, 1.5). The diagonal-in-z link tilts the ellipsoid through multiple elevations. Covers chair AND standing AND bed simultaneously. Vertical link diversity is the 3D insight 2D analysis missed. Installation-guide updates: - Single pair: one low (0.8 m) + one high (1.5 m), opposite walls - 4-anchor: 2x low corners + 2x high opposite corners - 5-anchor knee: mix 0.8 / 1.5 / one ceiling - Bed-only: both LOW - Standing-only: both HIGH - NEVER: both ceiling without a low anchor Coverage numbers are lower than R6.2's 2D 51% because 3D volumetric coverage is inherently lower than 2D area coverage -- honest 3D physics. Composes: - R6.2 (2D) -- incomplete; height matters as much as horizontal - R6.2.2 (N-anchor) -- N=5 knee should distribute across heights - R6.1 (multi-scatterer) -- needs 3D body model for proper composition - R14 V1/V2/V3 -- each vertical needs height-recipe - ADR-029 -- placement is (x, y, z), not (x, y) - R12 PABS -- detects intruders standing/sitting/lying with mixed heights Honest scope: 3-zone discrete approximation, single-pair only, no furniture occlusion, 0.1 m resolution, greedy search. Coordination: ticks/tick-21.md, no PROGRESS.md edit.
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# R6.2.1 — 3D antenna placement: ceiling-only mounting is the WORST option
|
||||
|
||||
**Status:** 3D Fresnel ellipsoid + height-strategy benchmark · **2026-05-22**
|
||||
|
||||
## Counter-intuitive headline
|
||||
|
||||
| Strategy | Coverage of 3 zones |
|
||||
|---|---:|
|
||||
| Desk-height (0.8 m, walls) | 22.2% |
|
||||
| Wall-mount (1.5 m, walls) | 17.4% |
|
||||
| **Ceiling-only (2.5 m, full ceiling grid)** | **0.0%** |
|
||||
| **Mixed (any height, walls + ceiling)** | **25.7%** ← best |
|
||||
|
||||
Ceiling-only mounting **completely fails** — the Fresnel envelope sits at ceiling height (2.1-2.9 m) and never reaches floor-level targets (bed 0.3-0.6 m, chair 0.5-1.2 m, standing 1.0-1.7 m).
|
||||
|
||||
## The physics
|
||||
|
||||
In 3D the first Fresnel zone is a prolate ellipsoid with foci at Tx and Rx. The transverse radius at the midpoint is `sqrt(d·λ)/2`. For a 5 m link at 2.4 GHz: **39 cm transverse**. This is a *symmetric envelope around the LOS line*.
|
||||
|
||||
A ceiling-mounted link (Tx at 2.5 m, Rx at 2.5 m, horizontal LOS) has its Fresnel envelope vertically centred at 2.5 m, extending from 2.1 m to 2.9 m. Targets at 0.3-1.7 m are **below the envelope by 0.4-2.0 m**. Completely missed.
|
||||
|
||||
This is the 3D extension of the **on-LOS-degeneracy** finding from R6.1 — except now the issue is on-CEILING degeneracy. A flat horizontal link at any height blocks sensing in the perpendicular dimension.
|
||||
|
||||
## Why mixed wins
|
||||
|
||||
The optimal mixed placement picks Tx at (5.0, 4.0, 0.8) — desk height — and Rx at (0.0, 4.0, 1.5) — wall-mount height. The link is **diagonal in z** as well as x. The Fresnel ellipsoid is tilted to thread multiple elevations: covers chair (z=0.5-1.2) AND standing zone (z=1.0-1.7) AND a portion of bed (z=0.3-0.6).
|
||||
|
||||
**Vertical link diversity is the key 3D insight that 2D analysis missed.**
|
||||
|
||||
## Recommendations
|
||||
|
||||
| Use case | 3D placement recipe |
|
||||
|---|---|
|
||||
| Single Tx-Rx pair | One low (desk height ~0.8m), one high (wall ~1.5m), opposite walls |
|
||||
| 4-anchor multistatic (R6.2.2) | 2× low corners + 2× high opposite corners |
|
||||
| 5-anchor (R6.2.2 knee) | Mix of 0.8 m / 1.5 m / one ceiling at 2.5 m for top-down coverage |
|
||||
| Bed-only (sleep monitoring) | Both antennas low (0.5-0.8 m) and **opposite sides of bed** |
|
||||
| Standing-only (gym, kitchen) | Both antennas high (1.5 m) |
|
||||
| **NEVER** | Both antennas ceiling-mounted with no low-anchor |
|
||||
|
||||
## What this says about the installation guide
|
||||
|
||||
Current RuView installer instructions are 2D: "place seeds on opposite walls". The 3D scrutiny says:
|
||||
|
||||
1. **Heights matter as much as horizontal positions.** Mixed-height placement gives +15.8% coverage over desk-height-only.
|
||||
2. **Ceiling-mount fails alone.** If using ceiling as part of a multi-anchor configuration, MUST also have at least one low-height anchor to bring the envelope down to floor-level targets.
|
||||
3. **Bedside sensing wants low anchors.** A bed at 0.3-0.6 m can only be covered by low-height links. High-mounted antennas miss the bed entirely.
|
||||
|
||||
These should be added to the installer-guide as **height recipes**, alongside R6.2's horizontal-placement recipes.
|
||||
|
||||
## Composes with prior threads
|
||||
|
||||
- **R6.2** (2D placement) — 2D analysis hides height issues entirely; R6.2 alone gives wrong installer guidance.
|
||||
- **R6.2.2** (N-anchor multistatic) — N=5 anchors should be distributed across heights, not all at one elevation.
|
||||
- **R6.1** (multi-scatterer) — the multi-scatterer body model is 2D top-down; a 3D body model (head at z=1.7, chest at z=1.3, legs at z=0.5) would tighten the per-body-part contribution estimates per height.
|
||||
- **R14** (empathic appliances) — V1 lighting (bedroom: detect sleeper) needs low anchors. V3 (cognitive load at desk) needs mid-height. The placement strategy depends on the empathic-appliance use case.
|
||||
- **ADR-029** (multistatic) — anchor-count + placement-height are both required configuration parameters.
|
||||
|
||||
## Honest scope
|
||||
|
||||
- **Coverage numbers (22%, 17%, 26%) are lower than R6.2's 2D 51%** because targets are 3D *volumes* now, not 2D *areas*. Volumetric coverage is inherently lower; a 3D point must be inside the ellipsoid in all three axes.
|
||||
- **3 zones at distinct heights.** Real rooms have continuous human occupancy distributions (people stand, sit, lie); the 3-zone setup is a discrete approximation.
|
||||
- **Single-pair only.** Multi-anchor 3D (R6.2.2.1) would saturate much earlier than the 2D version because each anchor's ellipsoid is sparser in 3D.
|
||||
- **No furniture occlusion** in 3D either.
|
||||
- **0.1 m resolution.** Finer resolution would refine the numbers slightly.
|
||||
- **Greedy single-pair search.** Global optimum may be slightly higher; brute-force is feasible at this candidate count.
|
||||
|
||||
## What this DOES enable
|
||||
|
||||
1. **Updates the installation-guide recipe** from "place on opposite walls" to "place at mixed heights on opposite walls".
|
||||
2. **Quantifies why ceiling-only WiFi sensing doesn't work** — common mistake in DIY deployments.
|
||||
3. **Provides height-strategy recommendations per use case** (sleep / sitting / standing).
|
||||
4. **A 3D placement search** that can be added to `wifi-densepose plan-antennas` as a `--3d` flag.
|
||||
|
||||
## What this DOES NOT enable
|
||||
|
||||
- Continuous occupancy distribution modelling (would need pose-trajectory data, R6.2.3).
|
||||
- Multi-pair 3D optimisation (R6.2.2.1 — composition with R6.2.2 in 3D).
|
||||
- Furniture / wall occlusion modelling (would need a 3D ray-tracing extension).
|
||||
- Per-empathic-appliance optimised placement (would need V1/V2/V3 task-specific zones).
|
||||
|
||||
## Next ticks (R6.2 family)
|
||||
|
||||
- **R6.2.2.1**: 3D multi-anchor union coverage — does the 5-anchor knee hold in 3D?
|
||||
- **R6.2.3**: chest-centric target zones (R6.1 says chest is 27.6% of signal — placement should target chest specifically).
|
||||
- **R6.2 productisation**: add `--3d` flag to the CLI tool.
|
||||
|
||||
## Connection back
|
||||
|
||||
- **R6** Fresnel forward model — direct 3D extension.
|
||||
- **R6.1** multi-scatterer — needs a 3D body model to compose properly with R6.2.1.
|
||||
- **R6.2** — 2D was incomplete; height matters as much as horizontal position.
|
||||
- **R6.2.2** — N-anchor knee likely shifts in 3D; needs follow-up benchmark.
|
||||
- **R14** V1/V2/V3 — each vertical needs its own height-recipe.
|
||||
- **ADR-029** — anchor placement specification needs (x, y, z) per anchor, not (x, y).
|
||||
- **R12 PABS** — PABS sensitivity to structural changes inherits R6.2.1's coverage; mixed-height placements detect intruders standing AND sitting AND lying.
|
||||
@@ -0,0 +1,78 @@
|
||||
# Tick 21 — 2026-05-22 08:10 UTC
|
||||
|
||||
**Thread:** R6.2.1 (3D antenna placement extension)
|
||||
**Verdict:** Counter-intuitive finding — **ceiling-only mounting gives 0% coverage**. Mixed-height (one low, one high) gives the best result.
|
||||
|
||||
## What shipped
|
||||
|
||||
- `examples/research-sota/r6_2_1_3d_placement.py` — pure-numpy 3D Fresnel ellipsoid placement search.
|
||||
- `examples/research-sota/r6_2_1_3d_results.json` — strategy comparison.
|
||||
- `docs/research/sota-2026-05-22/R6_2_1-3d-placement.md` — research note.
|
||||
|
||||
## Headline strategy comparison
|
||||
|
||||
3D room (5×5×2.5 m), three 3D target zones (bed at z=0.3-0.6, chair at z=0.5-1.2, standing at z=1.0-1.7):
|
||||
|
||||
| Strategy | Coverage |
|
||||
|---|---:|
|
||||
| Desk-height (0.8 m walls) | 22.2% |
|
||||
| Wall-mount (1.5 m walls) | 17.4% |
|
||||
| **Ceiling-only (2.5 m grid)** | **0.0%** |
|
||||
| **Mixed walls + ceiling** | **25.7%** ← best |
|
||||
|
||||
## The physics
|
||||
|
||||
Ceiling-only fails because both antennas at 2.5 m create a Fresnel ellipsoid sitting **at ceiling height** (2.1-2.9 m vertically). Target zones at 0.3-1.7 m are below the envelope by 0.4-2.0 m. The 39 cm transverse radius is symmetric around LOS, so a flat horizontal link at any height misses targets at any other height.
|
||||
|
||||
**This is the 3D version of R6.1's on-LOS-degeneracy finding.** A horizontal link at any single height has its envelope concentrated at that height.
|
||||
|
||||
## Why mixed wins
|
||||
|
||||
Best placement: Tx at (5.0, 4.0, 0.8) desk-height + Rx at (0.0, 4.0, 1.5) wall-mount. The **diagonal-in-z** link tilts the ellipsoid through multiple elevations. Covers chair AND standing AND bed simultaneously.
|
||||
|
||||
**Vertical link diversity is the 3D insight 2D analysis missed.**
|
||||
|
||||
## Installation-guide updates
|
||||
|
||||
| Use case | Recipe |
|
||||
|---|---|
|
||||
| Single Tx-Rx pair | One low (0.8 m), one high (1.5 m), opposite walls |
|
||||
| 4-anchor R6.2.2 | 2× low corners + 2× high opposite corners |
|
||||
| 5-anchor knee | Mix 0.8 / 1.5 / one ceiling (2.5) for top-down |
|
||||
| Bed-only sleep monitoring | Both LOW (0.5-0.8 m), opposite sides of bed |
|
||||
| Standing-only (gym, kitchen) | Both HIGH (1.5 m) |
|
||||
| **NEVER** | Both ceiling without low anchor |
|
||||
|
||||
## Why coverage numbers are lower than R6.2's 51%
|
||||
|
||||
3D target zones are *volumes*, not 2D *areas*. A point must be inside the ellipsoid in all 3 axes. Volumetric coverage is inherently lower; the 22-26% range is honest 3D physics.
|
||||
|
||||
## Composes with prior threads
|
||||
|
||||
- **R6.2** (2D) — incomplete; height matters as much as horizontal
|
||||
- **R6.2.2** (N-anchor) — N=5 knee should distribute across heights
|
||||
- **R6.1** multi-scatterer — needs 3D body model (head/chest/legs at different z) for proper composition
|
||||
- **R14** V1/V2/V3 — each vertical needs height-recipe specific to its sensing zone
|
||||
- **ADR-029** — anchor placement is (x, y, z), not (x, y)
|
||||
- **R12 PABS** — sensitivity to intruders inherits the coverage; mixed-height detects standing/sitting/lying intruders alike
|
||||
|
||||
## Honest scope
|
||||
|
||||
- 3-zone discrete approximation of continuous human occupancy
|
||||
- Single-pair only; multi-anchor 3D = R6.2.2.1 (next)
|
||||
- No furniture occlusion
|
||||
- 0.1 m resolution
|
||||
- Greedy single-pair search (brute-force feasible at this scale)
|
||||
|
||||
## Coordination
|
||||
|
||||
`ticks/tick-21.md`. No PROGRESS.md edit. Branch `research/sota-r6.2.1-3d-placement`.
|
||||
|
||||
## Remaining work
|
||||
|
||||
- **R6.2.2.1**: 3D N-anchor union coverage
|
||||
- **R6.2.3**: chest-centric zones (per R6.1 chest = 27.6% of signal)
|
||||
- **R12.1**: pose-PABS closed loop
|
||||
- **ADR-107**: cross-installation federation
|
||||
|
||||
~3.8h to cron stop. **21 ticks landed.** Loop covered R1-R15 + 2 ADRs + 6 deferred follow-ups + 3 negative-result categorisations.
|
||||
Reference in New Issue
Block a user