Files
ruvnet--RuView/examples/research-sota/r6_2_placement_results.json
T
rUv 719875ea1d research(R6.2): Fresnel-aware antenna placement — 93x sensing-coverage lift from physics alone (#719)
First deferred follow-up from R6. Productises R6's Fresnel forward model
into a 2D placement-search CLI: given a room + target occupancy zones,
recommend Tx/Rx positions that maximise first-Fresnel coverage.

Benchmark on 5x5 m bedroom (bed 3 m^2 + chair 0.64 m^2, 2900 pairs
evaluated at 2.4 GHz):
- OPTIMAL: 51.1% coverage (Tx 1.25,0; Rx 4.75,5; diagonal 6.10 m link)
- MEDIAN:  0.5% coverage
- WORST:   0.0% coverage
- 93x improvement, median to optimal

Counter-intuitive insight: longer links cover MORE space. Fresnel envelope
width = sqrt(d * lambda) / 2 grows with link length, so the 6.10 m
diagonal beats wall-parallel 5.00 m links. Up to the R10 link-budget
gate.

Per-cog deployment recommendations:
- cog-person-count: diagonal across longest axis
- cog-pose: zone inside ~50% midpoint envelope
- AETHER re-ID: Tx near doorway, Rx diagonal
- cog-maritime-watch: vertical diagonal through cabin
- cog-wildlife (future): Tx/Rx opposite trees, threading clearing midline

Improvements come from physics, not algorithms - no model retraining
needed. Existing customers can re-mount seeds today for 10-100x better
sensing.

Honest scope: 2D approximation, free-space, rectangular zones, single-pair
only, perimeter-only candidates, no link-budget gate.

CLI shape ready for productisation as 'wifi-densepose plan-antennas'.
Also surfaces as a deferred MCP tool 'ruview_placement_recommend'.

Composes with:
- R6 (direct 2D extension)
- R1 (placement x precision = full geometry budget)
- R10 (sets the link-budget gate this ignores)
- R11 (same recipe in steel cabins)
- R14 (determines whether V1/V2/V3 see the right occupant)
- ADR-105 (better placement = faster epsilon convergence)

Next R6.2 follow-ups catalogued: R6.2.1 (3D), R6.2.2 (N-anchor union),
R6.2.3 (pose-trajectory target zones).

Coordination: ticks/tick-16.md, no PROGRESS.md edit.
2026-05-22 03:04:17 -04:00

56 lines
1.1 KiB
JSON

{
"room": {
"width_m": 5.0,
"height_m": 5.0
},
"frequency_ghz": 2.4,
"wavelength_m": 0.12491666666666666,
"target_zones": [
{
"name": "bed",
"x0": 1.5,
"y0": 0.5,
"width": 2.0,
"height": 1.5
},
{
"name": "chair",
"x0": 3.5,
"y0": 3.5,
"width": 0.8,
"height": 0.8
}
],
"best": {
"score": 0.510989010989011,
"tx": [
1.25,
0.0
],
"rx": [
4.75,
5.0
],
"link_length_m": 6.103277807866851,
"result": {
"total_coverage_fraction": 0.510989010989011,
"total_area_m2": 3.6400000000000006,
"covered_area_m2": 1.8600000000000003,
"per_zone": {
"bed": {
"area_m2": 3.0000000000000004,
"covered_m2": 1.3050000000000002,
"coverage_fraction": 0.435
},
"chair": {
"area_m2": 0.6400000000000001,
"covered_m2": 0.5550000000000002,
"coverage_fraction": 0.8671875000000001
}
}
}
},
"median_score": 0.005494505494505495,
"worst_score": 0.0,
"n_pairs_evaluated": 2900
}