Complete ranging cycle
Target for all 10 pair distances across a five-phone group. Device setup, radio conditions, and retries determine actual cycle time.
HARDWARE BENCHMARK PENDINGA shared sense of where everyone is.
Relative positioning for GPS-denied, low-visibility environments—using radio, not cameras.
Dark interiors. Obscured sightlines. Places a satellite signal cannot reach. TactLink reconstructs the group’s relative geometry from peer-to-peer distances, without visual features, installed anchors, or a cloud positioning service.
Designed for these conditions. Radio obstruction, multipath, and motion still affect ranging; low-visibility field performance remains to be validated.
A radio measures a distance.
A network of distances reveals a shape.
UWB sends very short radio pulses across a wide frequency band. Their travel time provides a distance estimate between devices. No image, lighting, or visual landmark is needed for that measurement.
Each distance constrains a position to a sphere. Intersections explain the geometry; the implementation reconstructs all peers together from the complete distance matrix using multidimensional scaling.
The illustration uses five range shells to explain an unknown point. The five-phone system instead solves 10 mutual distances. Global position, orientation, and reflection are not determined by distances alone.
Nearby phones exchange measurements over authenticated, encrypted peer connections. No fixed base station and no internet service calculate your position.
A deterministically elected peer schedules ranging and shares the map. The role can move to another peer; the current prototype is peer-coordinated, not leaderless.
Coordination & recoveryTime-share the radio.
Build the complete distance graph.
A phone ranges with one partner at a time. Rotate the pairings; two independent pairs can work in parallel while the fifth phone waits.
Actual dispatch is availability-based: a free pair may start without waiting for an entire round. Each attempt exchanges fresh Nearby Interaction tokens.
Failed attempts back off. Local leases release a stuck radio. Incomplete cycles stay out of complete-cycle statistics.
Round-robin implementationTwo independent pipelines.
One operator state.
Frames stay on the device; no image stream to the swarm.
Palm detection → 21 landmarks → canned gesture scores.
iOS: landmark rules + motion sequences. PC: optional custom k-NN.
Confidence rejection, recent-frame voting, and command hold.
Gesture + confidence + heading joins the UWB position stream.
The iPhone ships the pretrained MediaPipe recognizer plus gesture rules. The desktop can load the optional custom model, falling back to canned gestures when a pose is rejected. Gesture visibility does not determine UWB position.
Protocol constants, design targets,
and real measurements stay distinct.
Target for all 10 pair distances across a five-phone group. Device setup, radio conditions, and retries determine actual cycle time.
HARDWARE BENCHMARK PENDINGThe completion milestone before peer grace and teardown. Four samples are a collection threshold, not an accuracy guarantee.
IMPLEMENTEDDefault per-attempt measurement window. A separate local lease adds five seconds to release the radio if coordination stalls.
IMPLEMENTEDThe coordinator checks work every 100 ms. Bridge packets arrive at roughly 10 Hz. Neither means a new position was measured: fresh geometry requires a complete set of ranges. Profiling reports complete-cycle p50/p95, fit residual, and measurement age.
No latitude, longitude, or gravity-aligned height. Nearly planar layouts leave the third axis uncertain.
Motion during a cycle can deform the estimate. The prototype expires positions after eight seconds.
Per-attempt timing, failures, and full-cycle statistics export as JSONL. Field navigation performance is not yet validated.