Add WBC-AGILE e2e velocity policy for G1#489
Draft
lgulich wants to merge 4 commits intorelease/0.1.1from
Draft
Conversation
Integrate the AGILE e2e ONNX policy (unitree_g1_velocity_e2e.onnx) as a new lower-body WBC policy alongside the existing Homie policy. The AGILE model takes raw sensor inputs and manages observation history internally via ONNX feedback connections, controlling 14 joints (legs + waist_roll/pitch). The ONNX model binary must be obtained separately from https://github.com/nvidia-isaac/WBC-AGILE and placed at wbc_policy/models/agile/unitree_g1_velocity_e2e.onnx Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
d859868 to
5ff5222
Compare
Add docker/setup/download_wbc_models.sh that downloads and SHA256-verifies the AGILE ONNX model from GitHub. The policy constructor now raises a clear FileNotFoundError if the model is missing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove unused _STATE_KEYS class variable from G1AgilePolicy - Remove assert that made use_policy_action toggle dead code - Add test for toggle_policy_action passthrough behavior - Add TestAgileStability class with multi-step stability tests verifying bounded outputs (proxy for root z > 0.5m) - Fix import ordering and formatting (pre-commit auto-fixes) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix reset() clobbering cmd for all envs instead of only reset env_ids - Replace hard-coded 14 with config["num_actions"] in _make_zero_state - Match base class get_action signature (add time parameter) - Add missing tests/__init__.py with license header - Make parent_dir a local variable in __init__ (only used there) - Add --fail flag to curl in download_wbc_models.sh Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
G1AgilePolicyclass integrating the WBC-AGILE end-to-end ONNX policy (unitree_g1_velocity_e2e.onnx) as a new lower-body WBC option alongside the existing Homie policy"agile"as a newwbc_versionin the policy factory with correspondingAgileConfigdataclassdownload_wbc_models.shscript for downloading the ONNX model with SHA256 verificationSetup
The ONNX model must be downloaded before tests can run:
This downloads the model from https://github.com/nvidia-isaac/WBC-AGILE and places it at:
Changes (beyond the base PR)
Post-review fixes committed on top:
_STATE_KEYSclass variable fromG1AgilePolicy(dead code)assert self.use_policy_actionthat made theelsepassthrough branch unreachabletest_toggle_policy_actiontest verifying the passthrough toggle works correctlyTestAgileStabilitytest class with multi-step stability tests (100-200 steps) verifying bounded, non-divergent outputs as a proxy for maintaining root z > 0.5mTest plan