Add locomotion task catalogs and policy evaluation guidance - #663
Merged
Merged
Conversation
yuecideng
self-requested a review
September 21, 2026 12:20
acrlw
marked this pull request as ready for review
September 22, 2026 02:31
|
yuecideng
approved these changes
Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.yamlandREADME.mdto these directories underembodichain_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_placeandstack_cupsentries. RL configuration followspush_cube's inline environment andagents/layout, using the sharedreinforcement_learningtag.Each catalog defines the task key, title, summary, tags,
default_deployment: default, and two named deployments:trainer.gym_configdefaultenv.yamlagents/ppo.yamlnewtonenv.newton.yamlagents/ppo.newton.yamlThe catalog derives each deployment's RL capability from the PPO file's
trainer.gym_configreference. For example,embodichain show-task embodichain_tasks:go2_flatlists both deployments withtheir 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-envcommands and bothtrain-rlcommands. It links to the checkpointevaluation example and task qualification criteria.
Policy evaluation guidance
Update
docs/source/overview/rl/index.rstwith an evaluation overview and a linkto 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.mdwith:evaluation, saved-checkpoint evaluation and policy qualification.
configs/train.yaml/configs/gym.yamlfrom the same run; use--seed 42 --episodes 32 --num-envs 16; identify the output directory andthe input/result fields in
evaluation.json.length, velocity errors, height, contact force and Humanoid progress.
eval/metrics/*samples the final step of each episode and averages acrossepisodes. Treat
eval/success_rateas not applicable for these seven tasks.The guide specifies evidence by task family:
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.pywith two test functions and eight cases:Gym IDs, backends, exact PPO associations and RL capability.
show-tasktitles, RL capability,PPO references and
Qualification: unavailable; gallery titles andREADME/config/PPO references.
Validation against current main, including the catalog and packaging foundation
merged in #664:
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.resolvable. Each task includes its catalog, README, two environment files,
two PPO files and
task.json.and CLI options checked.
check_api_docs.pypassed.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 arerequired. 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
Checklist
black .command to format the code base.python docs/scripts/check_api_docs.py), if applicable