You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a single configuration-driven benchmark path for Atomic Skills by extending the existing scripts/benchmark/motion_generation suite framework instead of maintaining one standalone benchmark runner per skill.
A suite configuration should select:
an embodiment component and optional initial-configuration overrides;
one or more planner adapters and their configurations;
Atomic Skills, cases, and physical stage evaluators;
nominal, robustness, and held-out generalization domains;
the measurement and reporting protocol.
The resolved suite should generate a planner-independent, versioned case manifest, execute every compatible planner on the same cases, evaluate success from physical scene evidence, and emit the existing reproducibility artifacts and report.
Reuse official embodiment components under embodichain_tasks/configs/components/embodiments/ rather than defining benchmark-only robot constructions.
Represent each Atomic Skill through an AtomicSkillCaseProvider plus a physical evaluator. Invocation construction, case generation, stage measurement, and aggregation should remain separate concerns.
Reuse the per-skill stage model being developed in Benchmark seven more atomic skills #642 after its physical-success criteria are corrected and covered by counterexample tests.
Configuration model
The suite should make the following concepts first-class:
Generalization domain — stable domain ID and version, applicability, required capabilities, case generator or frozen cases, and perturbation/held-out metadata.
held-out adaptability domains such as a new object, scene layout, end effector, or embodiment.
Case inclusion must be frozen before candidate evaluation. unsupported must come from an independent capability contract or an exhaustive, reproducible validator; it must not be inferred from a truncated probe or from the result of the planner being ranked.
Physical evaluation contract
Stage success must come from simulator observations, contact/effect evidence, or other measured scene state. CompiledTrajectory.projected_context is hypothetical planning state and must not be used as proof that an object was grasped, released, transferred, or retained.
The evaluator interface should support:
ordered, skill-specific stages;
segment-boundary measurements;
shared cross-cutting rules such as premature object drop;
stable failure stages and taxonomy;
replay/video using the same timing schedule as the scored execution;
per-environment outcomes for batched cases.
Migration phases
Correct the shared physical measurement contract and introduce the evaluator interface.
Load official embodiment components and migrate the currently benchmarked Atomic Skills into AtomicSkillCaseProvider implementations.
Add versioned generalization domains and aggregate nominal/robustness/adaptability statistics.
Retain current per-skill commands only as compatibility wrappers, then remove duplicated lifecycle and reporting code when migration is complete.
Acceptance criteria
A suite can select an official embodiment component, planner adapter, Atomic Skill, and cases without editing Python runner code.
At least two embodiments and two planners can run compatible skills through the same manifest and report schema.
All physical stages are measured from replay observations; projected planning effects do not decide physical success.
The manifest records resolved embodiment, planner configuration hash, skill options, domain/version, seed, and case parameters.
One nominal domain and at least one versioned generalization domain are supported end to end.
Reports include coverage, stage rates, overall success, and domain-level mean/worst/variance/retention where applicable.
Every run emits resolved_suite.yaml, environment.json, case_manifest.json, trials.jsonl, aggregates.json, and a Markdown report.
Existing motion-generation and Atomic Skill focused tests continue to pass, with new negative tests for incorrect physical evidence and generalization aggregation.
Motivation
EmbodiChain currently has two complementary benchmark paths:
scripts/benchmark/motion_generation already provides suite YAML, planner and scenario registries, frozen manifests, raw artifacts, aggregation, and reporting.
The Atomic Skill benchmark work in Benchmark seven more atomic skills #642 expands skill coverage and introduces skill-specific stage chains, but each skill still owns a large standalone Python script with hard-coded robot, planner, scene, cases, replay, and report assembly.
This split makes it difficult to answer the benchmark question users actually care about:
Given an embodiment/configuration, a planner, an Atomic Skill, and a generalization target, how well does the complete physical behavior perform?
Without one configuration and artifact contract, adding a planner, embodiment, skill, or generalization domain requires edits across multiple runners. Results are also difficult to compare because scene construction, replay timing, success evidence, unsupported classification, and output metadata can diverge between scripts.
A unified suite would preserve the strongest parts of both implementations: the reproducibility and extensibility of the motion-generation framework, and the per-skill physical stage semantics of the Atomic Skill benchmarks.
Related work: #437 established the generic motion-generation benchmark architecture; #642 expands Atomic Skill coverage and motivates convergence onto that architecture.
Proposal
Build a single configuration-driven benchmark path for Atomic Skills by extending the existing
scripts/benchmark/motion_generationsuite framework instead of maintaining one standalone benchmark runner per skill.A suite configuration should select:
The resolved suite should generate a planner-independent, versioned case manifest, execute every compatible planner on the same cases, evaluate success from physical scene evidence, and emit the existing reproducibility artifacts and report.
The intended data flow is:
Reuse existing owners
SuiteCfg, planner/scenario/robot registries, the generic runner, and the artifact/report pipeline introduced by [Proposal] Neural Motion Generator benchmark with cuRobo baseline #437.embodichain_tasks/configs/components/embodiments/rather than defining benchmark-only robot constructions.AtomicSkillCaseProviderplus a physical evaluator. Invocation construction, case generation, stage measurement, and aggregation should remain separate concerns.Configuration model
The suite should make the following concepts first-class:
PlannerSpecCfg/adapter selection and planner-owned parameters.Generalization domains must distinguish:
Case inclusion must be frozen before candidate evaluation.
unsupportedmust come from an independent capability contract or an exhaustive, reproducible validator; it must not be inferred from a truncated probe or from the result of the planner being ranked.Physical evaluation contract
Stage success must come from simulator observations, contact/effect evidence, or other measured scene state.
CompiledTrajectory.projected_contextis hypothetical planning state and must not be used as proof that an object was grasped, released, transferred, or retained.The evaluator interface should support:
Migration phases
AtomicSkillCaseProviderimplementations.Acceptance criteria
resolved_suite.yaml,environment.json,case_manifest.json,trials.jsonl,aggregates.json, and a Markdown report.Motivation
EmbodiChain currently has two complementary benchmark paths:
scripts/benchmark/motion_generationalready provides suite YAML, planner and scenario registries, frozen manifests, raw artifacts, aggregation, and reporting.This split makes it difficult to answer the benchmark question users actually care about:
Without one configuration and artifact contract, adding a planner, embodiment, skill, or generalization domain requires edits across multiple runners. Results are also difficult to compare because scene construction, replay timing, success evidence, unsupported classification, and output metadata can diverge between scripts.
A unified suite would preserve the strongest parts of both implementations: the reproducibility and extensibility of the motion-generation framework, and the per-skill physical stage semantics of the Atomic Skill benchmarks.
Related work: #437 established the generic motion-generation benchmark architecture; #642 expands Atomic Skill coverage and motivates convergence onto that architecture.
Additional context
A minimal target configuration could look like:
The exact schema should remain small and reuse existing component/registry contracts rather than introduce a third configuration system.
Checklist