MuJoCo
Simulates the warehouse floor, robot chassis, wheels and leader–follower motion. Ground-truth states anchor the analysis.
An interactive overview of a simulation-first navigation testbed: differential-drive robots, networked state updates, and repeatable experiments designed to make system behaviour easier to inspect.
Physics and control stay deliberately simple. The network is the research subject, so its effects can be isolated, replayed, and measured.
Simulates the warehouse floor, robot chassis, wheels and leader–follower motion. Ground-truth states anchor the analysis.
Models UDP state broadcasts, delay, jitter, packet loss and sender-side queueing. Every packet event can be traced.
Coordinates simulation time, delivers messages to robot beliefs, computes metrics, and produces plots and summary tables.
MuJoCo advances the robots and exposes their state at generation time.
x, y, θ, v, ωns-3 assigns each update a fate: delivery time, loss, or queue drop.
TX → RX / DROPPython applies fresh messages, advances controllers, and records outcomes.
CSV → METRICS → PLOTSbeliefs list. Network conditions affect what it knows, not the physics model directly.The baseline and one-factor sweeps vary network conditions or the communication policy. Select a sweep to inspect the recorded results below.
As delay rises from 50 to 400 ms, mean gap error increases from 0.097 m to 0.232 m. The baseline is 0.065 m.
Choose the mode based on what must depend on live robot state.
A belief is useful only while its message history is valid.
Packet-level statistics describe network delivery. Age of Information and gap error connect those delivery patterns to coordination.
Expected baseline result, identical across seeds according to the README.
The README reports non-monotone results in some delay and robot-count sweeps and explicitly says those effects have not been investigated. Treat them as properties of this simple controller, not as general findings.
The project records enough detail to trace a summary metric back to experiment configuration, packet events, deliveries, and robot trajectories.
Use Ubuntu 24.04 natively or through WSL2 on Windows. Setup downloads ns-3.48 and creates a dedicated Python virtual environment.
sudo apt-get install -y g++ cmake ninja-build python3-venv python3-devbash setup.shPY=~/.venvs/netbots/bin/python
$PY -m unittest discover -s tests -t .
$PY experiments/run.py experiments/configs/baseline.json
$PY analysis/summarize.pybash experiments/run_all.shBaseline: approximately 35 seconds for 5 seeds × 60 seconds. Full experiment suite: approximately 15 minutes. Quick variants can use --seeds 1 --duration 20.