Obsidia WiFi Link Quality
Bidirectional wireless link quality measurement with mobile robot
A wireless link quality measurement system built around an iRobot Create 2 controlled from a laptop over WiFi, developed at Obsidia.ai. As the robot is driven around an environment, both the robot (Raspberry Pi) and the controller (laptop) simultaneously record bidirectional network metrics. The collected data is exported to .mat format for analysis in MATLAB.
Developed December 2022 to January 2023.
What It Measures
Both the controller and the robot run parallel recording processes that capture:
- Ping latency (both directions) — round-trip time at 10 Hz
- UDP test packets (both directions) — sent at 1 kHz with timestamped payloads, allowing measurement of packet loss, jitter, and one-way delay
- Video stream integrity — the controller logs whether each MJPEG frame was successfully received
- WiFi metrics (robot side) — bit rate, link quality, and signal level parsed from
iwconfigevery second
Architecture
The system runs as parallel subprocesses on each device. The robot runs data recording, WiFi metric logging, and an MJPEG video server. The controller runs its own recording processes plus a keyboard-driven remote control client that sends HTTP commands to the robot’s motor control server.
Each subprocess writes timestamped text files to a dataset directory. Post-processing parses these into arrays and exports .mat files for MATLAB analysis. The core signal analysis was done in MATLAB (not included in the repo).