Decision: keep all four sensor families. Each owns a failure mode the others cannot cover.
Sensors
- Forward laser grid: STMicro VL53L8CX, multizone time of flight, 4x4 at up to 60 Hz or 8x8 at up to 15 Hz (firmware caps), 65 degree diagonal field of view, up to 400 cm dark and about 285 cm in daylight, 940 nm Class 1 VCSEL, I2C up to 1 MHz or SPI, cover glass crosstalk immunity above 60 cm. Run 4x4 at 60 Hz for the column map and one 8x8 frame every fourth cycle for shape and thin objects.
- Ground laser grid: second VL53L8CX, tilted down about 35 degrees, 8x8 at 15 Hz, for ground shape, curbs, and drop offs.
- Radar: Ai-Thinker RD-03D, 24 GHz FMCW, up to three tracked targets to 8 m, plus or minus 60 degrees azimuth, plus or minus 30 degrees elevation, UART 256000 baud, 5 V at 200 mA. It depends on Doppler and cannot detect or range objects that are not moving. This is by design: radar owns movers.
- Sonar: two JSN-SR04T waterproof 40 kHz transducers, about 25 cm to 450 cm, blind zone about 20 to 25 cm, wide cone, insensitive to glass transparency, weak on small or sharply angled targets, needs about a 20 microsecond trigger.
- IMU: CEVA BNO085, 9 axis with on chip fusion, rotation vector to 400 Hz, used to milestone the radar and to detect gait.
Second sources: VL53L5CX or AMS TMF8828 for the grid; HLK-LD2450 for the radar; MaxBotix weatherproof sonar at higher cost.
Handoffs, settled
- Laser grid owns 5 cm to 60 cm, plus shape and drop offs beyond at lower confidence.
- Sonar owns glass and large surfaces from 25 cm to 4 m, and it keeps its full reach in bright sun, where the laser grid's daylight range shortens. Its blind zone is placed inside the belt line by mounting the transducer set back or angled, and the two sonars are angled about 20 degrees outward so an angled glass door returns at least one echo. Firmware takes the nearest valid echo.
- Radar owns movers only: people, bikes, carts, to 8 m. The wearer's own walking makes static objects move relative to the radar, so it reports them while walking; the IMU tells the firmware when the wearer has stopped and the radar is trusted less.
- Disagreement rule: when the grid sees nothing and the sonar sees a surface, buzz. A false buzz costs a step; a missed glass door costs a face.
- Thin poles: run 8x8 every fourth frame rather than add a third sonar.
Every handoff is verified against the datasheets and shown in the fusion animation.