Skip to content

Latest commit

 

History

History
64 lines (53 loc) · 1.43 KB

File metadata and controls

64 lines (53 loc) · 1.43 KB

Network Rig Test (Direct Base-to-Rover)

This project provides a Python CLI script to measure key network metrics between a base station and rover at multiple distances.

What it measures

  • TCP bandwidth/throughput (iperf3)
  • UDP throughput, jitter, and loss (iperf3)
  • Ping latency (avg and p95) and packet loss (ping)
  • Program feasibility for:
    • telemetry
    • command_control

Install

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Configure

Copy and edit the example config:

cp config.example.yaml config.yaml

Set:

  • base.host
  • rover.host
  • ssh.user
  • ssh.key_path
  • distances.rover_m

Usage

Dry-run matrix:

python network_rig_test.py run --config config.yaml --dry-run

Run tests:

python network-test/network_rig_test.py run --config config.yaml

Optional flags:

  • --session-name <name>
  • --output-dir <path>
  • --no-plots
  • --fail-fast

Outputs

Default output directory:

  • results/<timestamp_session>/

Artifacts:

  • measurements.csv
  • summary.json
  • plots/metric_vs_distance.png
  • plots/latency_loss_vs_distance.png
  • plots/program_feasibility_vs_distance.png

Notes

  • Current implementation supports future.scenario_mode: direct only.
  • CSV schema includes relay-ready columns (scenario, relay_distance_m) for future expansion.
  • The script retries each metric command once before marking failure in notes.