02 · PART ONE
The spatial interaction algorithm.
Interaction starts long before you touch anything. The question is not “was a pixel crossed?” but “is there a person, is that person in bed, and is that person asleep?” The system answers it by accumulating independent evidence instead of trusting one sensor.
SENSEMulti-zone ToF65° diagonal field of view, 200 cm coverage
SENSERadar tierPresence and activity, plus vital signals on higher tiers
SENSEMicrophonesRelative change in ambient sound
SENSEEnvironmentTemperature, humidity, ambient light
FRAMESHigh-frequency streamKeeps micro-motion and breathing displacement
FRAMESLow-frequency stable streamMedian and high quantile suppress transient noise
MEMORYZero-copy single slotNo queue growth, no allocation spikes
BASELINEEmpty-room snapshotPer-zone median, then frozen as the reference
FIELDMulti-zone depth fieldDepth and motion per zone; centre of mass, variance, rate of change
VOTEMajority over secondsMotion, sound and radar vote independently
LATCHOccupancy + vital proofGeometry alone is not enough — micro-motion proves a living body
STATEState ladderEach level needs its own evidence before it is announced
ACTLightLowest-cost channel, always first
ACTScreenE-ink updates only when the state changes
ACTTone or soundscapeAdded only when light and screen are not enough
ACTVoice or linkReserved for the moments that truly need them
01 · SENSE
Space is divided into ranging zones.
Rather than a single distance reading, the depth array reports a multi-zone depth field. Each zone carries its own depth and motion, so a bed, a chair and a doorway do not collapse into one number. The ToF module covers a 65° diagonal field of view up to 200 cm.
02 · FILTER
Two speeds of truth.
A high-frequency stream preserves the small chest displacement that breathing produces. A low-frequency stable stream is built from a per-zone median and a high quantile, which removes transient spikes without erasing real change. A zero-copy single-slot queue keeps memory flat over a whole night.
03 · BASELINE
The empty room becomes the reference.
When the room is empty, several snapshots per zone are taken and reduced to a per-zone median, then frozen. From that moment, a person is not “something detected” — a person is a deviation from a known-empty reference. This is what separates a sleeper from bedding, a chair or a bag.
04 · VOTE
Presence needs agreement, not a spike.
Presence is the union of three independent paths: motion energy, relative ambient-sound change, and radar presence when fitted. A majority vote over a second-scale window confirms it. Leaving requires tens of seconds without a valid trigger, so a blanket falling off the bed cannot end the night.
05 · LATCH
Occupancy and life are checked separately.
In-bed detection is an AND, not an OR. Depth geometry, radar in-position and zone reinforcement establish occupancy; a vital-sign layer above the empty baseline must then prove that the object is alive. A latch, renewed by real movement, holds the state while a brief stillness would otherwise look like departure.
06 · ABSTAIN
A sensor is allowed to say nothing.
When “acoustic active” and “motion active” coincide persistently, the system recognises a television, an air conditioner or a fan and stops the acoustic dimension from voting. The design principle is blunt: better to abstain than to vote wrongly.
07 · ESCALATE
States climb only with evidence.
“Present” never silently becomes “in bed”, and “in position” never silently becomes “focused”. Each rung of the state ladder requires its own independent evidence. The baseline also switches between a cold-start mode and a high-precision mode as valid zones settle.
08 · ACT
The cheapest channel wins.
Behaviour follows a fixed escalation order: light, then screen, then tone or soundscape, then voice, then device linkage. If a soft light can answer the moment, the speaker stays silent. At night the device records; on a toilet trip it lights only the floor and dims again on return.