Run binaries from the crate root so robot/config.json resolves correctly.
cargo run --bin autonomousThe autonomous binary loads config, configures logging, starts AutonomousRobot, launches the vision and base-driver operations, optionally starts LEDs, then asks:
Should I start (Y/N):
After confirmation, it reads vision snapshots, selects a target person by track ID, plans base-driver commands, and keeps running until Ctrl+C or shutdown. Empty vision context causes a stop command before the next loop iteration.
cargo run --bin manualThe manual binary loads config, configures logging, starts controller and base-driver operations, converts controller snapshots into drive intents, and runs until Ctrl+C or the configured b_button is active.
In real hardware mode, startup expects a detectable gamepad. In simulate mode, the runtime uses the fake gamepad implementation.
Both runtimes install a Ctrl+C handler and attempt to send a stop command to the base driver before joining operations. Logging behavior comes entirely from the config file.