Skip to content

Add locomotion task catalogs and policy evaluation guidance - #663

Merged
acrlw merged 2 commits into
DexForce:mainfrom
acrlw:feat/issue660-locomotion-catalog
Sep 22, 2026
Merged

acrlw merged 2 commits into
DexForce:mainfrom
acrlw:feat/issue660-locomotion-catalog

Conversation

@acrlw

@acrlw acrlw commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator

Description

The seven locomotion tasks have environment and PPO configurations but lack
catalog entries and task READMEs. The RL overview also lacks an entry point for
evaluating a saved checkpoint. This PR adds task catalogs, deployment mappings
and evaluation guidance so users can find the matching training configuration
and assess the resulting policy.

Fixes #660. Related to #106.

Task catalogs and deployment mappings

Add catalog.yaml and README.md to these directories under
embodichain_tasks/configs/tasks/:

  • locomotion/velocity/{g1_flat,h1_2_flat,go1_flat,go2_flat,anymal_c_flat,microduck_flat}/
  • classic_control/humanoid/

The catalog fields follow the same template as #664's push_cube,
repeated_pick_place and stack_cups entries. RL configuration follows
push_cube's inline environment and agents/ layout, using the shared
reinforcement_learning tag.

Each catalog defines the task key, title, summary, tags,
default_deployment: default, and two named deployments:

Deployment Environment config PPO config matched through trainer.gym_config
default env.yaml agents/ppo.yaml
newton env.newton.yaml agents/ppo.newton.yaml

The catalog derives each deployment's RL capability from the PPO file's
trainer.gym_config reference. For example,
embodichain show-task embodichain_tasks:go2_flat lists both deployments with
their environment, backend and PPO files. The gallery displays the authored
title, summary, tags and README link.

Each README documents the task objective, Gym ID, configuration mapping,
show-task / run-env commands and both train-rl commands. It links to the checkpoint
evaluation example and task qualification criteria.

Policy evaluation guidance

Update docs/source/overview/rl/index.rst with an evaluation overview and a link
to the Policy Evaluation guide. The seven tasks' PPO configurations set
enable_eval: false, so the overview directs users to saved-checkpoint evaluation.

Extend docs/source/guides/policy_evaluation.md with:

  1. Evaluation workflow: the inputs and evidence for periodic training-time
    evaluation, saved-checkpoint evaluation and policy qualification.
  2. Headless Go2 example: select a checkpoint and configs/train.yaml /
    configs/gym.yaml from the same run; use
    --seed 42 --episodes 32 --num-envs 16; identify the output directory and
    the input/result fields in evaluation.json.
  3. Metric interpretation and qualification criteria: explain episode return,
    length, velocity errors, height, contact force and Humanoid progress.
    eval/metrics/* samples the final step of each episode and averages across
    episodes. Treat eval/success_rate as not applicable for these seven tasks.

The guide specifies evidence by task family:

Tasks Assessment focus
G1, H1_2 Velocity tracking, upright posture, falls and survival under commands and disturbances
Go1, Go2 Velocity tracking, falls, foot clearance and dragging
ANYmal-C Velocity tracking, base contact and thigh contact
MicroDuck Velocity tracking, trunk clearance, tilt and body contact
Humanoid Run Forward displacement, torso height, falls and timeouts

Qualification records associate thresholds and measured values with evidence
from tracking trajectories, contact events and termination reasons.

Tests and validation

Add tests/test_locomotion_catalog.py with two test functions and eight cases:

  • Seven task cases verify the default deployment, README, environment references,
    Gym IDs, backends, exact PPO associations and RL capability.
  • One presentation case checks all seven tasks: show-task titles, RL capability,
    PPO references and Qualification: unavailable; gallery titles and
    README/config/PPO references.

Validation against current main, including the catalog and packaging foundation
merged in #664:

  • 8/8 PR tests passed, covering seven tasks and 14 deployments.
  • 40 focused checks passed across locomotion catalogs, shared catalog behavior,
    terminal-table presentation and package-data staging. One upstream runtime
    registration test could not complete because the lightweight local environment
    lacks torch; the complete CI test run is pending.
  • 49/49 wheel resources verified, with all deployments and PPO associations
    resolvable. Each task includes its catalog, README, two environment files,
    two PPO files and task.json.
  • Eight Markdown documents, 45 documentation references, example Bash syntax
    and CLI options checked.
  • Black 26.3.1 repository check and check_api_docs.py passed.

Dependencies and integration

The task catalog, CLI, gallery and packaging foundation from #664 is merged
into main, which this branch now includes. No new Python dependencies are
required. The independent physical-objective layer in #657 is not required
for these locomotion catalogs or saved-policy evaluation guidance.

Integration with current main is conflict-free and preserves all 17 PR files.
The refreshed CI tests and documentation build must pass before merge.

Type of change

  • Enhancement (non-breaking change which improves an existing functionality)
  • Documentation update

Checklist

  • I have run the black . command to format the code base.
  • I reviewed affected documentation and agent context, updated it where needed, or explained why no update was needed.
  • Public API changes are reflected in the API docs (python docs/scripts/check_api_docs.py), if applicable
  • I have added tests that prove my fix is effective or that my feature works
  • Dependencies have been updated, if applicable.

@acrlw acrlw added docs Improvements or additions to documentation task A task written in openai gym format for imitation learning or reinforcement learning rl Features related to reinforcement learning labels Sep 21, 2026
@yuecideng
yuecideng self-requested a review September 21, 2026 12:20
@acrlw
acrlw marked this pull request as ready for review September 22, 2026 02:31
@greptile-apps

greptile-apps Bot commented Sep 22, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge, with catalog mappings, evaluation guidance, and focused tests aligned with the current implementation.

Summary

This PR adds discoverable catalog metadata and usage documentation for seven locomotion tasks, then expands the policy-evaluation guide with a saved-checkpoint workflow and task-family qualification guidance.

  • Adds Default and Newton deployment mappings with matching PPO routes.
  • Adds task READMEs covering launch, training, evaluation, and qualification.
  • Documents native evaluation report fields and terminal metric semantics.
  • Adds focused tests for catalog resolution, presentation, and RL capability discovery.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Catalog[Task catalog] --> Default[Default deployment]
  Catalog --> Newton[Newton deployment]
  Default --> DefaultEnv[env.yaml]
  Default --> DefaultPPO[agents/ppo.yaml]
  Newton --> NewtonEnv[env.newton.yaml]
  Newton --> NewtonPPO[agents/ppo.newton.yaml]
  DefaultPPO --> Train[train-rl]
  NewtonPPO --> Train
  Train --> Checkpoint[Saved checkpoint]
  Checkpoint --> Evaluate[eval-policy]
  DefaultEnv --> Evaluate
  NewtonEnv --> Evaluate
  Evaluate --> Report[evaluation.json]
  Report --> Qualification[Task qualification]
Loading

Reviews (1) · Last reviewed commit: "chore(tasks): sync locomotion catalog br..."

@acrlw
acrlw merged commit 0e9c282 into DexForce:main Sep 22, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation rl Features related to reinforcement learning task A task written in openai gym format for imitation learning or reinforcement learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Proposal] Document RL policy qualification and catalog locomotion deployments

2 participants