Single-command picker that prompts for every experimental knob the
project supports, then dispatches to `tools/run_webots.sh` with the
matching env vars. The banner reminds the user that the interpreter
path lives in `tools/setup_env.sh` (or `$HERDING_PYTHON`) so the
"this conda path won't exist on another machine" trap is hard to
fall into.
Prompts, in order:
Mode : bc | rl | strombom | sequential | universal
Drive : differential | mecanum
World : field | field_round
LiDAR FOV : 140° | 360° (skipped when drive=mecanum)
Dogs : 1 | 2 (axis-split — only ask leak if 2)
Sheep : 1..10
Perception : LiDAR | GT bypass
Headless : no (windowed) | yes (xvfb-run + fast mode)
Each prompt has a default marked with `*`; pressing Enter through the
whole flow runs the canonical demo (BC / diff / field / 140° /
1 dog / 5 sheep / LiDAR / windowed). The configuration is summarised
in a boxed block before the final "Launch? [Y/n]" confirm.
README quick-start now lists `tools/webots_menu.sh` as the
recommended starting point and shows the env-var-prefixed launcher
invocations (HERDING_LIDAR=360, HERDING_NDOGS=2, HERDING_USE_GT=1)
for non-interactive use.
126 pytest cases still pass.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>