How hnu-bigherox/robocup_changsha works
Coverage Bench is a multi-robot moving-target coverage benchmark and competition evaluation framework. The principal workflow is to validate a participant submission, load an evaluation suite (optionally governed by a release bundle), run the policy against seeded scenarios, then aggregate episode results into metrics and a performance score. The environment stages scenario creation, robot and target motion, observations, rewards, and metrics. The repository also provides submission auditing, release management, result comparison, and archiving. Some orchestration links follow module responsibilities and README behavior; unsampled implementation details are not asserted.
Main entry points: evaluation.py Evaluation orchestration · parallel_env.py Parallel task environment · cli.py CLI commands · host_runner.py Host runner
Components 23
Evaluation entrypoints
- CLI commands
coverage_bench/cli.py - Submission validation
coverage_bench/submission.py - Release bundle
coverage_bench/release.py
Task environment
- Parallel task environment
coverage_bench/envs/parallel_env.py - Scenario generation
coverage_bench/envs/scenario.py - Robot dynamics
coverage_bench/envs/physics.py - Target motion
coverage_bench/envs/motion.py - Observation encoding
coverage_bench/observations.py - Reward calculation
coverage_bench/rewards.py - Episode metrics
coverage_bench/metrics.py
Policy protocol
- Policy runtime
coverage_bench/runtime.py - Observation/action protocol
coverage_bench/protocol.py - Template policy
participant/_template/entry.py - PPO training example
participant/_template/train.py
Evaluation and results
- Evaluation suites
coverage_bench/suites.py - Evaluation orchestration
coverage_bench/evaluation.py - Host runner
coverage_bench/host_runner.py - Score aggregation
coverage_bench/scoring.py - Evaluation results
coverage_bench/results.py - Evaluation audit
coverage_bench/audit.py - Result comparison
coverage_bench/comparison.py - Result archive
coverage_bench/archive.py
Other components
- Participant
Connections 26
- Participant → CLI commands: submits policy
- CLI commands → Submission validation: validates submission
- CLI commands → Release bundle: loads optional bundle
- CLI commands → Evaluation suites: loads suite
- CLI commands → Evaluation orchestration: starts evaluation
- Evaluation orchestration → Submission validation: uses validated policy
- Evaluation orchestration → Evaluation suites: uses cases
- Evaluation orchestration → Host runner: runs episodes
- Host runner → Policy runtime: dispatches policy calls
- Policy runtime → Template policy: invokes entrypoint
- Template policy → Observation/action protocol: flattens observations
- PPO training example → Parallel task environment: trains through
- PPO training example → Observation/action protocol: shares flattening
- Host runner → Parallel task environment: steps environment
- Parallel task environment → Scenario generation: initializes scenario
- Parallel task environment → Robot dynamics: advances robots
- Parallel task environment → Target motion: advances targets
- Parallel task environment → Observation encoding: encodes observations
- Parallel task environment → Reward calculation: computes rewards
- Parallel task environment → Episode metrics: computes step metrics
- Evaluation orchestration → Episode metrics: aggregates episodes
- Evaluation orchestration → Score aggregation: calculates score
- Evaluation orchestration → Evaluation results: writes results
- Evaluation orchestration → Evaluation audit: records audit
- Result comparison → Evaluation results: compares results
- Result archive → Evaluation results: archives results