feat(agibot-x2): Tier 1 obstacle-avoidance nav — MuJoCo + Webots Sim-to-Sim - #63
Open
Wanbogang wants to merge 1 commit into
Conversation
- Result-gated settlement: success only when both simulators independently confirm target reached without collision - Shared potential-field policy drives both simulators identically - Persistent replay store, reject-before-actuation contract validation - Collision-primitive MJCF model (vendor mesh assets unavailable at submission time; see docs/README.md) - 23 automated tests, plus manual verification with real simulators (collision-safety, replay/duplicate protection)
Wanbogang
force-pushed
the
agibot-x2-tier1-mujoco-webots-simtosim
branch
from
August 3, 2026 07:26
38a594b to
3c8db07
Compare
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
Adds an AgiBot X2 Tier 1 RoboPay bridge for obstacle-avoidance navigation, validated independently in two simulators (MuJoCo + Webots) per the Tier 1 Sim-to-Sim requirement.
Design
settlementEligible=trueonly when both MuJoCo and Webots independently reportreached_target=true, collided=false. A single-simulator success, disagreement, collision, or timeout is alwayserror/not settlement-eligible.bridge/policy/obstacle_avoid_policy.py) drives both simulators identically, so a Sim-to-Sim disagreement reflects a genuine physics discrepancy rather than two different controllers.actionId/idempotencyKey/payment authorization is rejected without re-executing (verified live: 0.108s vs full simulator run).paramsHash, unverified/settled/expired/mismatched payment).Mesh assets
Vendor mesh assets were not fetchable at submission time from either upstream source (
ioai-tech/robot_descriptionLFS returns 404;AgiBotTech/genie_simLFS budget exceeded — both reproducible, not local issues).x2_primitives.xmlpreserves the vendor kinematic chain (link/joint names and offsets fromrobot_description/mjcf/agibot/x2.xml) with primitive collision geometry instead of mesh. Full rationale and locomotion-abstraction notes indocs/README.md.Validation
tests/test_bridge.py): reject-before-actuation, Sim-to-Sim disagreement (both directions), replay across bridge restart, audit-log privacy.Reviewer evidence
Full run logs, safety-property notes, and reproduction steps in
docs/README.mdunder "Verified evidence" and "Run and test".