Runtime Architecture
The repository has two main layers.
Deployment layer
Section titled “Deployment layer”Responsible for:
- selecting tiles
- copying repository and settings
- installing dependencies
- starting long-lived services on the tiles
Main scripts:
server/setup-clients.pyserver/update-experiment.pyserver/run-clients.py
Orchestration layer
Section titled “Orchestration layer”Responsible for:
- coordinating one complete cycle across rover, position logging, acoustic, and RF
- triggering and monitoring the RF synchronization loop
- writing rover position logs and RF run summaries
Main scripts:
server/zmq_orchestrator.pyserver/record/RF-orchestrator.pyserver/run_server.py
The processed data path then starts in processing/parsing/extract_csi_from_smb_v2.py, which turns the runtime logs into the RF xarray used by the notebooks and the docs tutorials.