Add robot profile: unitree/go2/unitree.go2.mujoco-pybullet-sim.v1 - #87
Closed
EslaM-X wants to merge 4 commits into
Closed
Add robot profile: unitree/go2/unitree.go2.mujoco-pybullet-sim.v1#87EslaM-X wants to merge 4 commits into
EslaM-X wants to merge 4 commits into
Conversation
…docs - Use the MuJoCo body name 'base' (not 'base_link') so the controller loads the pinned mujoco_menagerie Go2 model on ubuntu-latest. - Replace the body yaw torque with a pure static-stability hip-abduction shuffle (front vs hind hip splay) so the turn converges toward the target without overshoot or toppling; achieved yaw and remaining error are still reported honestly. - Rename the sim-to-sim artifact to go2_sim2sim_report.json and point the test, README and validation report at it. - Unify simulation/setup.sh and simulation/README.md with the spot branch (both robots share one pinned menagerie clone, idempotent), scope the submission to simulation/ (revert the root README edit), ignore the ephemeral facilitator key, and refresh the terminal-log evidence from a clean full-suite run (5/5 PASS, sim-to-sim 0.02 cm).
Author
|
Closing - duplicate targeting wrong base (main). Correct PR is #89 targeting unitree-go2-tier-1 (bounty branch). |
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.
🤖 Unitree Go2 · Tier 1 Simulator Submission
Profile:
unitree/go2/unitree.go2.mujoco-pybullet-sim.v1Scope: Simulator-only · 8 priced skills · MuJoCo + PyBullet sim-to-sim
🎯 What's in the box
registry/vendors/unitree/go2/unitree.go2.mujoco-pybullet-sim.v1/simulation/go2/simulation/pybullet/simulation/setup.sh🦿 The 8 skills (all priced, all measurable)
wave·sit·stand·stop(safe stop) ·bow·nod·turn_to_face·holdEvery skill runs through a joint-space trajectory controller and reports
real simulator metrics — paw lift height, sit depth, torso pitch, body
height, achieved heading — then returns to the home stance
(
|bodyZ − 0.283| < 0.02) so paid actions can run back to back.stopis thefail-safe skill: it halts motion and returns the robot to its stable home pose.
⚙️ The Go2 specifics (what's not a copy of the Spot demo)
motoractuators (no native position actuators), sothe controller wraps them in a small PD position servo — while keeping
the torque limits in the model intact.
base_link, robot idunitree-go2; the hip-yaw chain iscalibrated (pitch −0.6 rad / roll −1.5s) so the robot actually settles.
turn_to_faceyaws the body with a bounded applied yaw torque(
xfrc) plus a differential hip-abduction shuffle, then reports theachieved yaw and the remaining error honestly — a partial turn is never
faked as a complete one.
✅ Success criteria — cleared
robot/tunnel/resultrobot/tunnel/action, republishes with actionId, responds on the documented result topicsimulation/docs/go2.gif)402+PAYMENT-REQUIRED; forged/expired receipts ⇒402; replayed idempotencyKey/txHash ⇒409; onlystatus: successmay settleUNPAID,INVALID_PARAMS,UNKNOWN_SKILL,WRONG_ROBOT,DUPLICATE, tamperedparamsHash)stophalts motion and returns to the stable home stancesimulation/pybullet/sim2sim_report.json)🔁 End-to-end flow
🎬 Evidence
simulation/docs/go2.gif(1.6 MB) — the 8 paid skills executed on the official MuJoCo Go2 modelsimulation/docs/go2-ci-logs.txtsimulation/docs/go2-shots/(wave peak, sit crouch, bow, nod, turn, stance)simulation/pybullet/sim2sim_report.jsongo2-simulation-testsworkflow runs the full suite headless onubuntu-latest(green on the fork)🚀 Reproduce in < 30 minutes
same local facilitator the robot link trusts; no on-chain settlement.
reimplements the exact x402 decisions the tunnel's middleware makes before
actuation, and the wire contract is exercised through peer-mode Zenoh exactly
as the tunnel would publish it.
turn_to_faceuses an applied yaw torque as a documented stand-in for theground interaction a real Go2 shuffle produces — the only skill (besides
wave's body-weight compensation) that applies an external force.
Built with care by EslaM-X 🇪🇬 — open to review feedback and happy to
iterate on any criterion.