From 26797737afbcbdf21595c6b49bcf7a4bef596f3f Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 1 Sep 2026 04:20:14 -0300 Subject: [PATCH 1/5] feat: CI simulation check with standardized render loop Headless MuJoCo runtime (faithful port of upstream infer_policy.py, validated observation-exact and trajectory-level to ~3% over 8s) runs each changed behavior descriptor in PR CI: - simulation/: pinned MJCF assets, command profiles derived from robotd_slot (velocity showcase, sitstand, one-shot zero/phase), pass/fail checks, deterministic 512x512 H.264 loop + poster render - Sim Check workflow: per-descriptor matrix, artifact uploads, summaries - optional descriptor 'simulation' block (JSON Schema + zod + tests) - docs: CONTRIBUTING section, README section, viability research note Validated live on 4 behavior classes: alpha-walking (velocity), sit-stand (recovery), roulade (one-shot roll), and a third-party community ONNX (genesis-velocity via raw.githubusercontent). --- .github/workflows/sim-check.yml | 114 +++++++++ .gitignore | 5 + CONTRIBUTING.md | 21 ++ README.md | 10 + registry/schema/behavior.schema.json | 33 +++ registry/schema/behavior.ts | 24 ++ research/ci-sim-viability.md | 71 ++++++ simulation/README.md | 94 +++++++ .../__pycache__/fetch_assets.cpython-312.pyc | Bin 0 -> 4721 bytes simulation/assets.lock.json | 202 +++++++++++++++ simulation/fetch_assets.py | 82 ++++++ simulation/microduck_sim/__init__.py | 3 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 274 bytes .../__pycache__/checks.cpython-312.pyc | Bin 0 -> 6061 bytes .../__pycache__/constants.cpython-312.pyc | Bin 0 -> 2560 bytes .../__pycache__/profiles.cpython-312.pyc | Bin 0 -> 8419 bytes .../__pycache__/render.cpython-312.pyc | Bin 0 -> 6558 bytes .../__pycache__/robot.cpython-312.pyc | Bin 0 -> 17883 bytes simulation/microduck_sim/checks.py | 110 ++++++++ simulation/microduck_sim/constants.py | 75 ++++++ simulation/microduck_sim/profiles.py | 160 ++++++++++++ simulation/microduck_sim/render.py | 107 ++++++++ simulation/microduck_sim/robot.py | 241 ++++++++++++++++++ simulation/requirements.txt | 4 + simulation/run_check.py | 165 ++++++++++++ tests/schema.test.ts | 35 +++ 26 files changed, 1556 insertions(+) create mode 100644 .github/workflows/sim-check.yml create mode 100644 research/ci-sim-viability.md create mode 100644 simulation/README.md create mode 100644 simulation/__pycache__/fetch_assets.cpython-312.pyc create mode 100644 simulation/assets.lock.json create mode 100644 simulation/fetch_assets.py create mode 100644 simulation/microduck_sim/__init__.py create mode 100644 simulation/microduck_sim/__pycache__/__init__.cpython-312.pyc create mode 100644 simulation/microduck_sim/__pycache__/checks.cpython-312.pyc create mode 100644 simulation/microduck_sim/__pycache__/constants.cpython-312.pyc create mode 100644 simulation/microduck_sim/__pycache__/profiles.cpython-312.pyc create mode 100644 simulation/microduck_sim/__pycache__/render.cpython-312.pyc create mode 100644 simulation/microduck_sim/__pycache__/robot.cpython-312.pyc create mode 100644 simulation/microduck_sim/checks.py create mode 100644 simulation/microduck_sim/constants.py create mode 100644 simulation/microduck_sim/profiles.py create mode 100644 simulation/microduck_sim/render.py create mode 100644 simulation/microduck_sim/robot.py create mode 100644 simulation/requirements.txt create mode 100644 simulation/run_check.py diff --git a/.github/workflows/sim-check.yml b/.github/workflows/sim-check.yml new file mode 100644 index 0000000..d217d84 --- /dev/null +++ b/.github/workflows/sim-check.yml @@ -0,0 +1,114 @@ +name: Sim Check + +# Spins a headless MuJoCo simulation for each changed behavior descriptor, +# runs the policy under the standard command profile, and renders the +# standardized thumbnail loop. A failing rollout verdict fails the check. + +on: + pull_request: + branches: [main, master] + paths: + - "registry/behaviors/**" + - "simulation/**" + - ".github/workflows/sim-check.yml" + workflow_dispatch: + inputs: + behavior: + description: "Behavior id to check (empty = all descriptors)" + required: false + default: "" + +permissions: + contents: read + +env: + MUJOCO_GL: egl + PYOUT: sim-results + +jobs: + detect: + name: Detect changed behaviors + runs-on: ubuntu-latest + outputs: + ids: ${{ steps.set.outputs.ids }} + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + fetch-depth: 0 + - id: set + run: | + if [ -n "${{ github.event.inputs.behavior }}" ]; then + ids="${{ github.event.inputs.behavior }}" + else + base="${{ github.event.pull_request.base.sha || github.sha }}" + ids=$(git diff --name-only "$base" HEAD -- registry/behaviors \ + | sed -n 's#registry/behaviors/\(.*\)\.json$#\1#p' \ + | sort -u | jq -R -s -c 'split("\n") | map(select(length > 0))') + fi + echo "ids=$ids" >> "$GITHUB_OUTPUT" + echo "changed behaviors: $ids" + + simulate: + name: Sim ${{ matrix.id }} + needs: detect + if: needs.detect.outputs.ids != '[]' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + id: ${{ fromJson(needs.detect.outputs.ids) }} + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - uses: actions/setup-python@v6 + with: + python-version: "3.12" + + - name: Install GL + ffmpeg + run: | + sudo apt-get update -qq + sudo apt-get install -y -qq libegl1 libgl1 ffmpeg + + - name: Install Python deps + run: pip install -r simulation/requirements.txt + + - name: Cache pinned sim assets + uses: actions/cache@v4 + with: + path: .simcache + key: sim-assets-${{ hashFiles('simulation/assets.lock.json') }} + + - name: Run simulation check + run: | + python simulation/run_check.py \ + --behavior "${{ matrix.id }}" \ + --out "$PYOUT" \ + --keep-media + + - name: Upload sim report + render + if: always() + uses: actions/upload-artifact@v4 + with: + name: sim-${{ matrix.id }} + path: | + ${{ env.PYOUT }}/${{ matrix.id }}/report.json + ${{ env.PYOUT }}/${{ matrix.id }}/loop.mp4 + ${{ env.PYOUT }}/${{ matrix.id }}/poster.png + if-no-files-found: warn + + - name: Job summary + if: always() + run: | + { + echo "## Sim check: ${{ matrix.id }}" + if [ -f "$PYOUT/${{ matrix.id }}/report.json" ]; then + echo '```json' + cat "$PYOUT/${{ matrix.id }}/report.json" + echo '```' + else + echo "No report produced (run error)." + fi + } >> "$GITHUB_STEP_SUMMARY" diff --git a/.gitignore b/.gitignore index 99e82dc..162bb34 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,8 @@ pnpm-debug.log* vendor/ *.ses session-*.md + +# CI simulation +.simcache/ +sim-results/ +.research/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aa9a7e0..07114ee 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -44,6 +44,27 @@ uDuck Registry is a directory of Microduck behavior policies. A contribution is For a local media path such as `/media/my-move/loop.mp4`, include the matching file at `public/media/my-move/loop.mp4` in the pull request. +### CI simulation check + +Every pull request that adds or edits a descriptor is automatically run +through a headless MuJoCo simulation (the `Sim Check` workflow): the registry +downloads your canonical ONNX, drives it at the shared 50 Hz runtime contract +under a command profile derived from `compatibility.robotd_slot`, and verifies +the rollout is finite, stable, and (for velocity policies) tracking in the +commanded direction. It also renders a standardized 512x512 `loop.mp4` +thumbnail you can adopt as your `media.loop_url` — self-hosted on +uduckmoves.com, so it loads in regions where GitHub/Hugging Face media is +unreliable. + +- Profile details and the pass criteria: [`simulation/README.md`](simulation/README.md). +- If your behavior intentionally leaves the feet (rolls, jumps), set `"simulation": { "allow_fall": true }`. +- If your policy needs a specific trigger protocol, encode it with the + `simulation.profile` / `simulation.segments` options; the check runs your + protocol, not ours. + +A failing Sim Check means the policy could not be validated in simulation +under the declared contract — expect review questions. + ## Descriptor shape ```json diff --git a/README.md b/README.md index 34c4ea8..d96e441 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,16 @@ The table below is generated from the descriptors in `registry/behaviors/`. +## Simulation CI + +Pull requests touching `registry/behaviors/` are automatically run through a +headless MuJoCo simulation check (`Sim Check` workflow): the contributed ONNX +is executed at the shared 50 Hz runtime contract under a standard command +profile, verified (finite outputs, stability, recovery, tracking), and a +standardized 512x512 render loop is produced as a catalog-ready thumbnail. +See [`simulation/README.md`](simulation/README.md) for the render standard, +command profiles, and fidelity notes. + ## Machine-readable access The generated catalog is available at: diff --git a/registry/schema/behavior.schema.json b/registry/schema/behavior.schema.json index 82276cb..ec0a11b 100644 --- a/registry/schema/behavior.schema.json +++ b/registry/schema/behavior.schema.json @@ -342,6 +342,39 @@ } } }, + "simulation": { + "type": "object", + "additionalProperties": false, + "description": "Optional CI simulation-check configuration. When omitted, the profile is derived from compatibility.robotd_slot.", + "properties": { + "profile": { + "type": "string", + "enum": ["velocity", "standing", "sitstand", "oneshot_phase", "oneshot_zero"] + }, + "duration_s": { "type": "number", "minimum": 1, "maximum": 30 }, + "period_s": { "type": "number", "exclusiveMinimum": 0, "maximum": 30 }, + "end_phase": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 }, + "hold_s": { "type": "number", "minimum": 0, "maximum": 30 }, + "allow_fall": { "type": "boolean" }, + "expect_tracking": { "type": "boolean" }, + "segments": { + "type": "array", + "minItems": 1, + "maxItems": 12, + "items": { + "type": "object", + "additionalProperties": false, + "required": ["duration_s", "vx", "vy", "wz"], + "properties": { + "duration_s": { "type": "number", "exclusiveMinimum": 0, "maximum": 30 }, + "vx": { "type": "number" }, + "vy": { "type": "number" }, + "wz": { "type": "number" } + } + } + } + } + }, "sources": { "type": "object", "additionalProperties": false, diff --git a/registry/schema/behavior.ts b/registry/schema/behavior.ts index 40ece46..40960a9 100644 --- a/registry/schema/behavior.ts +++ b/registry/schema/behavior.ts @@ -153,6 +153,30 @@ const BehaviorInputSchema = strict({ deployment: strict({ robotd_toml: NonEmptyStringSchema, }), + + // Optional CI simulation-check configuration. When omitted, the command + // profile is derived from compatibility.robotd_slot. + simulation: strict({ + profile: z.enum([ + "velocity", + "standing", + "sitstand", + "oneshot_phase", + "oneshot_zero", + ]).optional(), + duration_s: z.number().min(1).max(30).optional(), + period_s: z.number().positive().max(30).optional(), + end_phase: z.number().positive().max(1).optional(), + hold_s: z.number().min(0).max(30).optional(), + allow_fall: z.boolean().optional(), + expect_tracking: z.boolean().optional(), + segments: z.array(strict({ + duration_s: z.number().positive().max(30), + vx: z.number(), + vy: z.number(), + wz: z.number(), + })).min(1).max(12).optional(), + }).optional(), }); export const BehaviorSchema = BehaviorInputSchema; diff --git a/research/ci-sim-viability.md b/research/ci-sim-viability.md new file mode 100644 index 0000000..8113be7 --- /dev/null +++ b/research/ci-sim-viability.md @@ -0,0 +1,71 @@ +# CI simulation + render check: viability assessment + +**Verdict: viable, built, and validated.** Branch `feat/ci-sim-render`. + +## What was built + +- `simulation/` — headless Microduck policy runtime (Python, MuJoCo + onnxruntime), + hash-pinned upstream assets, command profiles, pass/fail checks, and a + deterministic 512x512 H.264 render loop + poster generator. +- `.github/workflows/sim-check.yml` — PR-gated workflow: detects changed + descriptors, runs one sim job per behavior, uploads report + render artifacts, + writes a job summary. Fails the PR on an unsafe or non-running policy. +- Optional `simulation` descriptor block (JSON Schema + zod) to pin a command + profile per behavior. + +## Ground truth chain + +The official Pollen simulator (HF Space `microduck-simulator`) runs the exact +stack we need: MuJoCo physics + onnxruntime-web policies at 50 Hz, decimation 4, +61D obs = gyro(3) + projected gravity(3) + joint pos rel(14) + joint vel(14) + +last action(14) + command(13). The canonical reference is +`pollen-robotics/microduck_rl` `scripts/infer_policy.py` (Rust `robotd` on the +robot mirrors the same contract). The Space's MJCF (`robot_allcollisions.xml`) +is byte-identical to the one in `microduck_rl`. + +## Validation performed + +1. **Obs-level**: our port's 61D observation at reset matches upstream + `PolicyInference.get_observations()` exactly (max abs diff 0.0, same scene, + same ONNX). +2. **Trajectory-level**: driving both the unmodified upstream reference script + and our runtime with `BEST_alpha_walking.onnx`, cmd vx=0.25, 8 s: + upstream 0.8376 m total / 0.1011 m last-second; ours 0.8133 m / 0.1040 m + (~3% float-ordering drift). Runtime is a faithful port. +3. **Golden-reference limits**: `max-height-jump` (author-documented 0.628 m/s + launch, 31.67 mm rise) does not launch under the standard profile with any + simple trigger encoding we tried (max 0.208 m/s at the XML's 125 Hz default). + The author's bespoke eval protocol is not recoverable from the descriptor + alone — this is exactly what the `simulation` block is for. Checks are + calibrated to "runs safely under the standard contract", not to reproducing + author setups. +4. **Rendering**: EGL software rendering works headless (this box has no GPU); + GH ubuntu runners support the same via `libegl1`. ffmpeg encodes the loop. + +## Findings that matter + +- Community ONNX policies may declare a dynamic batch axis or the legacy 51D + obs (3D twist command). The runtime auto-detects via input shape. +- Deterministic CPU sim under-reports locomotion speed vs hardware claims + (~40-50% of commanded vx for the official walk policy with a step command). + Tracking checks verify direction + a minimum fraction, not equality. +- Policy behavior is highly sensitive to the exact command protocol (sitstand + flag, phase-encoded one-shots, kick windows). The profiles encode the + documented upstream semantics (from `constants.js`/`infer_policy.py`). + +## China / restricted-region angle + +Sim-rendered loops are generated in CI and committed under +`public/media/sim//loop.mp4` — first-party assets on our own domain, no +raw.githubusercontent.com / HF signed-redirect dependency. They are also a +fallback for behaviors whose authors did not provide media, so every card can +have a standardized preview. Original author media remains canonical and +preferred where available (mirrored via the existing `remote-cache`). + +## Costs + +- Per-behavior sim job: ~1-2 min on ubuntu-latest (assets cached by lock hash; + 6 s rollout ≈ 300 control steps + 150 renders). Worst case (a PR touching all + descriptors) runs the matrix in parallel. +- No GPU, no HF compute, no upstream permission needed (Apache-2.0 assets, + hash-pinned, attributed). diff --git a/simulation/README.md b/simulation/README.md new file mode 100644 index 0000000..e1588bd --- /dev/null +++ b/simulation/README.md @@ -0,0 +1,94 @@ +# CI simulation check (`simulation/`) + +A headless Microduck policy runtime used by the `Sim Check` GitHub Actions +workflow. For a behavior descriptor it: + +1. downloads the canonical ONNX artifact (registry artifact host allowlist only), +2. loads the pinned official Microduck MJCF (`pollen-robotics/microduck-simulator`, + hash-pinned in `assets.lock.json`), +3. runs a deterministic MuJoCo rollout at the shared runtime contract + (50 Hz control, decimation 4, 61D observation / 14 action), +4. evaluates pass/fail checks, and +5. renders a standardized, deterministic thumbnail loop for the catalog. + +## Usage + +```bash +python -m venv .venv && . .venv/bin/activate +pip install -r simulation/requirements.txt # + system: libegl1, ffmpeg +python simulation/run_check.py --behavior alpha-walking --keep-media --out sim-results +``` + +Outputs under `sim-results//`: + +| File | What | +| --- | --- | +| `report.json` | verdict, per-check details, metrics, policy sha256 | +| `loop.mp4` | 512x512 H.264, 30 fps, muted render loop (the thumbnail standard) | +| `poster.png` | middle frame + caption bar | + +Exit code: 0 pass, 1 check failed, 2 could not run. + +## Render standard + +Every sim-rendered loop is identical in shape so catalog cards can treat them +uniformly (and host them from our own domain — relevant for regions where +GitHub/HF media is unreliable, e.g. mainland China): + +- square 512x512, H.264 `yuv420p`, 30 fps, muted, faststart; +- fixed smoothing chase camera (side-on, −12° elevation, 0.65 m); +- rollout equals the profile duration (default 6 s); +- deterministic given the policy artifact and profile. + +## Command profiles + +The command schedule defaults from `compatibility.robotd_slot`: + +| robotd_slot | Default profile | +| --- | --- | +| `walk`, `roller` | velocity showcase: settle → forward → arc → settle | +| `sitstand`, `stand` | sit/stand posture-flag cycle | +| `roulade` | 2 s zeroed one-shot window, falls allowed | +| `kick_left`, `kick_right` | 0.5 s zeroed one-shot window | +| `ground_pick` | phase-encoded `[cos, sin, 0]` one-shot (period 4 s, ends at 0.7) | +| `custom` | standing hold | + +Descriptors can override with an optional `simulation` block: + +```json +"simulation": { + "profile": "velocity", + "segments": [ + { "duration_s": 1, "vx": 0, "vy": 0, "wz": 0 }, + { "duration_s": 3, "vx": 0.25, "vy": 0, "wz": 0 } + ], + "duration_s": 4, + "allow_fall": false, + "expect_tracking": true +} +``` + +`allow_fall` marks behaviors that intentionally leave the feet (roulade, +jumps): the check then requires the robot to recover upright instead of never +falling. + +## What "pass" means + +The verdict certifies **"the policy runs under the standard sim profile and +behaves safely"** — finite outputs, no unplanned falls, bounded drift, plus +profile-specific extras (velocity direction/fraction tracking, upright +recovery). It does **not** certify hardware behavior or reproduce an author's +bespoke evaluation protocol; those stay the contributor's responsibility. + +## Fidelity + +The observation builder, action application (`ctrl = default_pose + +action * scale`), timestep (0.005), decimation (4), and reset pose are ported +from `pollen-robotics/microduck_rl` `scripts/infer_policy.py` and cross-checked +against the official browser simulator (`app/src/game/game.js` and +`constants.js` in the `microduck-simulator` Space). The port was validated by +driving both the upstream reference script and this runtime with the same +policy/scene/command: observations match exactly at reset and trunk trajectories +agree within ~3% over 8 s (float-ordering drift). Both 61D (unified 13D +command) and legacy 51D (3D twist) policies are supported, selected by the +ONNX input shape. diff --git a/simulation/__pycache__/fetch_assets.cpython-312.pyc b/simulation/__pycache__/fetch_assets.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6563b609959771b87fa5a5bf14390b7e9e6f8363 GIT binary patch literal 4721 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 literal 0 HcmV?d00001 diff --git a/simulation/assets.lock.json b/simulation/assets.lock.json new file mode 100644 index 0000000..0d2c05f --- /dev/null +++ b/simulation/assets.lock.json @@ -0,0 +1,202 @@ +{ + "source": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator (pinned 2026-09-01)", + "model_dir": "microduck-mjlab", + "model_path": "robot_allcollisions.xml", + "files": [ + { + "path": "robot_allcollisions.xml", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/robot_allcollisions.xml", + "sha256": "7a6fdf437f5a80c7348ad801f43f906b997a834389cb70cca5e1e8517ba38044" + }, + { + "path": "assets/ankle_left.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/ankle_left.stl", + "sha256": "df5d7f04d63390a1e263e0138ee94e1aec2ff2b55cf63729f4ec461b25c1c1f0" + }, + { + "path": "assets/ankle_right.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/ankle_right.stl", + "sha256": "48b8551a13d22cc8752ddf3148796b357a6cbd6e2ecbd93c3ecdfbf55e533e72" + }, + { + "path": "assets/banana_pcb_locker.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/banana_pcb_locker.stl", + "sha256": "2e51f6e23e4dbea660a9dbadcd763bbc77d48a7e3e0a58f047eab45554e07b55" + }, + { + "path": "assets/bearing_roll.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/bearing_roll.stl", + "sha256": "fa0da0a5eef428a41da6e9639f75120781594e600c5db7518621750221669849" + }, + { + "path": "assets/bottom_head_shell.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/bottom_head_shell.stl", + "sha256": "331a361406e77c05256e5064197f785ac1e9c8f091079a3519c2e33f28ae5ebc" + }, + { + "path": "assets/elec_rpi_robot_hat_pcb.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/elec_rpi_robot_hat_pcb.stl", + "sha256": "acc66b75f2ff26f42339577c38c6f348ec73c4fbb52912637ba5244eb1a78ebb" + }, + { + "path": "assets/face_part.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/face_part.stl", + "sha256": "47ad1137a68bf72b2c93f1bf4836f18fb9a8d21a4f8f86fbe761b9871233fcce" + }, + { + "path": "assets/foot_left.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/foot_left.stl", + "sha256": "b7749b1f4fd9e7faf8180772d7ce8254139c60bc43aee463ec76afc86212d59c" + }, + { + "path": "assets/foot_right.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/foot_right.stl", + "sha256": "e2aba02ec1b949bc8a5a77ad3d0af9009dee80c100aa4bbfcf336f1fa5ef206f" + }, + { + "path": "assets/hip_l.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/hip_l.stl", + "sha256": "dbdf6e7f5587385c0f6a77b407931b30e81c9a212dac7c52b4e0884156049056" + }, + { + "path": "assets/jaw.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/jaw.stl", + "sha256": "90afa64e47ef237f0f58d6f4830dc3cd6215328ed8a639b1e1a9eb2157307f4a" + }, + { + "path": "assets/jaw_soft.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/jaw_soft.stl", + "sha256": "6c3ebb578ea5e6d7b995baca9b42ef7c9f9858b56dedf6f0d949f5e6ea9d3ef2" + }, + { + "path": "assets/left_shell.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/left_shell.stl", + "sha256": "c31e71e2e55c5daccfef738c80053104ba2fb3589a0836ab1b6ebb5c380a05ae" + }, + { + "path": "assets/leg.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/leg.stl", + "sha256": "bfbc6ae5faefc56bd65d860cf3410a08e8286717063584f15b56bbd5302b20f8" + }, + { + "path": "assets/lens.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/lens.stl", + "sha256": "b9b86fce70198040781a739e2c15d2996b549b25d73b7544005ae08a415b486e" + }, + { + "path": "assets/m12_lens_holder.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/m12_lens_holder.stl", + "sha256": "d96825a096d5d3d5d252086cf0cdb3f5bc22d9f0baef0a3f97a85bae1617be99" + }, + { + "path": "assets/motor_support.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/motor_support.stl", + "sha256": "d6725004f0a85a5cf0161214ea0d39fb6f14ee3563c9a96cd5aad725b5e2a716" + }, + { + "path": "assets/neck.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/neck.stl", + "sha256": "3cb654ee9387d55c7d10d40fc84bb7cbf3cedb3243d1da499cf01c54d366079c" + }, + { + "path": "assets/neck_pitch.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/neck_pitch.stl", + "sha256": "dbd6fcbf8b8f27a8364d5bcae2b9a537d7e384325b44a653b360139b6fa1da2f" + }, + { + "path": "assets/noenoeil.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/noenoeil.stl", + "sha256": "55f3167627f6fbd1a19966f92396adf2ccd55795b13ded3b9f52705ba8a7ab77" + }, + { + "path": "assets/np_f970.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/np_f970.stl", + "sha256": "01fbacc788b53ebb7648cda07090133b8c696da31d700c560f45189494977871" + }, + { + "path": "assets/pcb__raspberry_pi_zero_2_w.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/pcb__raspberry_pi_zero_2_w.stl", + "sha256": "43d8368ced3d623eaa5ef538e8361f5878b85931b7cd469a4488eee7aa00bd91" + }, + { + "path": "assets/power_support.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/power_support.stl", + "sha256": "4aee9ddf8c12478d334f3d8d9e65af712072bef241283a08c895606fc2e3d9e8" + }, + { + "path": "assets/right_shell.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/right_shell.stl", + "sha256": "c346581c2e3c2c189ea49372a147dfbc0dca89db4ec02f9f230921e480e762a7" + }, + { + "path": "assets/seeed_bearing__configuration__22x16x4.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/seeed_bearing__configuration__22x16x4.stl", + "sha256": "8551dc99cbdc012bd261c2a175f2cc766dd6aed0786781b35f8381cd3aa95b34" + }, + { + "path": "assets/seeed_bearing__configuration_default.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/seeed_bearing__configuration_default.stl", + "sha256": "e4338e0e6c7adeb52a35e02d6fa5babe761e8752ffa0fc2e31b0ba672c18630d" + }, + { + "path": "assets/soft_mouth_top.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/soft_mouth_top.stl", + "sha256": "451f53d30350552cb6e26f777698272f7c3fa557f389adb24f94c75a201e67cd" + }, + { + "path": "assets/sole_left.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/sole_left.stl", + "sha256": "357f80bb46855e3ce50f817705acd80471dae90b4ee6b4a0a948614a7daeddb1" + }, + { + "path": "assets/sole_right.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/sole_right.stl", + "sha256": "07801107a36dbc1c2b83b3b64ad98be39ba662a8a7fa0b62a29119b201f41fe6" + }, + { + "path": "assets/speaker.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/speaker.stl", + "sha256": "0ef54df86c6093c166d73e33dc0b8364ef5643a7a1b1dacaba577be5a9c06c32" + }, + { + "path": "assets/top_head_shell.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/top_head_shell.stl", + "sha256": "a59823b8f2ab23d530e6b071559f7fd308851ae035b7cb4d0b7baf7edef4b3e3" + }, + { + "path": "assets/trunk_base.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/trunk_base.stl", + "sha256": "4b84ebe28041e6236ecafd4a26cebe537e21c14423e6acded3d78478c7650ed7" + }, + { + "path": "assets/upper_leg_left.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/upper_leg_left.stl", + "sha256": "a626dafcdd0074fd4e79e604d377495d304d222f1afd27b13487b7248b35a0b8" + }, + { + "path": "assets/upper_leg_right.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/upper_leg_right.stl", + "sha256": "97fd516a4c0e593fef9e22b1521d60ca86bd91966a4328db0834bac5ba1cabdf" + }, + { + "path": "assets/upper_leg_rigidity_plate.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/upper_leg_rigidity_plate.stl", + "sha256": "96e50158d44ef97fc46f5d6330b6bb02fb93116790ae892a170fdd052e696aba" + }, + { + "path": "assets/xl330.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/xl330.stl", + "sha256": "d3c7b71750397083d3dfbad395fd8ac794763f43e2ea2b5006da5840c976fc82" + }, + { + "path": "assets/yaw2roll.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/yaw2roll.stl", + "sha256": "c20cbdd8a9d52f789ec5a4b0d4a173a225652c6bc4610d555ea309c7a0e0d559" + }, + { + "path": "assets/yaw_roll_motion.stl", + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/robot/mjlab/meshes/yaw_roll_motion.stl", + "sha256": "ae3740fde29a261b79650a25825baedd84d538fc67b6b20b79589125e5e05592" + } + ] +} diff --git a/simulation/fetch_assets.py b/simulation/fetch_assets.py new file mode 100644 index 0000000..63664f7 --- /dev/null +++ b/simulation/fetch_assets.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python3 +"""Download and hash-verify the pinned upstream Microduck simulation assets. + +Assets: the official `pollen-robotics/microduck-simulator` Space's +`robot_allcollisions.xml` plus its 38 mesh files. `assets.lock.json` pins +URLs and sha256 digests so CI rollouts are reproducible. + +Usage: python fetch_assets.py [--cache-dir DIR] (default: /.simcache) +""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import sys +from pathlib import Path + +LOCK = Path(__file__).resolve().parent / "assets.lock.json" + + +def sha256(path: Path) -> str: + h = hashlib.sha256() + with path.open("rb") as fh: + for chunk in iter(lambda: fh.read(1 << 20), b""): + h.update(chunk) + return h.hexdigest() + + +def fetch(cache_dir: Path | None = None) -> Path: + if cache_dir is None: + repo_root = Path(__file__).resolve().parent.parent + cache_dir = repo_root / ".simcache" + lock = json.loads(LOCK.read_text()) + model_dir = cache_dir / lock["model_dir"] + mesh_dir = model_dir / "assets" + mesh_dir.mkdir(parents=True, exist_ok=True) + + import urllib.request + + def get(url: str, dest: Path) -> None: + req = urllib.request.Request(url, headers={"User-Agent": "uduck-registry-ci"}) + with urllib.request.urlopen(req, timeout=120) as resp, dest.open("wb") as out: + while True: + chunk = resp.read(1 << 20) + if not chunk: + break + out.write(chunk) + + failures = [] + for entry in lock["files"]: + name = entry["path"] + dest = model_dir / name + expected = entry["sha256"] + if dest.exists() and sha256(dest) == expected: + continue + print(f"fetch {name}") + try: + get(entry["url"], dest) + except Exception as exc: # noqa: BLE001 + failures.append(f"{name}: {exc}") + continue + actual = sha256(dest) + if actual != expected: + failures.append(f"{name}: sha256 mismatch ({actual} != {expected})") + dest.unlink(missing_ok=True) + if failures: + for f in failures: + print(f"ERROR {f}", file=sys.stderr) + sys.exit(1) + resolved = model_dir / lock["model_path"] + print(f"assets ready: {resolved}") + return resolved + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--cache-dir", default=None) + args = parser.parse_args() + repo_root = Path(__file__).resolve().parent.parent + default_cache = repo_root / ".simcache" + fetch(Path(args.cache_dir) if args.cache_dir else default_cache) diff --git a/simulation/microduck_sim/__init__.py b/simulation/microduck_sim/__init__.py new file mode 100644 index 0000000..5454830 --- /dev/null +++ b/simulation/microduck_sim/__init__.py @@ -0,0 +1,3 @@ +"""Headless Microduck policy simulation and render tooling for CI.""" + +__version__ = "0.1.0" diff --git a/simulation/microduck_sim/__pycache__/__init__.cpython-312.pyc b/simulation/microduck_sim/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..226c5e3b65271968ea53920fbb043ce090960731 GIT binary patch literal 274 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 Q25Il3F}jhiz+{g91+bYC>;M1& literal 0 HcmV?d00001 diff --git a/simulation/microduck_sim/__pycache__/constants.cpython-312.pyc b/simulation/microduck_sim/__pycache__/constants.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..906321d02a8b8f056a350b6ba4196a9aa0c7bd03 GIT binary patch literal 2560 zcmah~UuYx88Q;}E%PULr-|O8$a}$>qtClT%PD;6ys*0_<_+m>JTi4o4VYS*Ft=3-c zu4h-W*R?@`(w?Dk?n~o@La*sVa`b55@>Fo?TM31RE5!^gT$@6;H#c{I5-9YWmDVzS zXa{!on{U4PeShbh50goOgYlXBlg$iJAG1X;B3*)i_5g^tIF%DQl~+Rs-wcT%p3z|= zEJoCb7*(TUOpS>H8mA7t%Zu?4ha;P#0Z{)B`|)>q*cn=)KPI<9TO+i33dGY5%H22&Rmj1VUAm{OvjZ?*FmzW zq6Ri>OdRAiWP(*x^N`!XXhm0urM8qU6)ayEnmDOyr3^pwlXPCS5s3toYjMpGz z1huhYDZ1;SY1pxewTTs$AdSfFE_d!Fv}x(4i)_n5Qv|a#w=r@pz+&F3xGuL0e;a22 z|hve0vS3QlBh^!BIPyIIusAe4K|&IXoMmO2MR$X;Tcnx%ToOAH~* z%nDE09m?=DA)8Qteu$lt_Pz06-TK>}n}5nK_0#K2Bt?e|Tz930ZcCoLLzCw#0+mHm z=Sy36l?EO3*IOpWRPagJ+%kYRv9cv~MFeJCkB<8^!yWV~A2UgGtM#B6bbs9g z>@s|%i7xGH&7?kIUb3MTPtTs;-uU1|TYvxMKfF@<>xpLmg8xl))IHHY{CV+%XaD|7 z{*yPq^1C0r_nklI$poArtoQV%03aU#oA^Zs~z zPMm1(yv@e%^8sf4$U)TQeHoZGFP`Z!_e1;P1h*f7FPh-Ah#LrVo4p=?&H&;O zAN1ja*nUh6so|^K!GIdMpo7`+Ut@n@|NPuu6fBGH^Po4*=sl4Azo+AYRwlj1WukkF ztE_%8sxh?-Hb(dBhRkvHRTSZelSp;_muFPI$mRth3rz||B zUK+S>Wg;|W+B7N?B71b8ZdkHAf1O6*S#X@pAdN5_8V0qL-=X|2G?QN4r zw;?&OLf^DKI>z)% z#P?p(O?Z!>TTX+n1^65brVjUHWa7=+okC~(-i!C%_(w8*fBkU%X#05Xc=CArxb|S~ z!Q_$kX!Y0PL-9|^uXk=f85%vBJGy@FcBgn6PyDEMzj4?&Y8@+&Q|jYEP`(_EnyseokuNej9z1ST=s#{$SSXh&tL0_s zHIXJRyo}@prtKO#ICSy(q(c{9OqyOQEmf8Z%Ti_aZs~PNq=VlsE=wzgb!ojvE|tzn z;BNG}8#EEf7D~5hx{GjgwOI7cphB1NYI$)3)U4cc5;}W<6Nc_zJ-qt-T6%b*Gjuk|4UfSu#*JO>q~Vtw?hKv| f`BOTeQX>Ea5}8i=G= literal 0 HcmV?d00001 diff --git a/simulation/microduck_sim/__pycache__/profiles.cpython-312.pyc b/simulation/microduck_sim/__pycache__/profiles.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ff52a8e1e09df1b887182048984ba5ef5a0d786 GIT binary patch literal 8419 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 L`3psILx%qa2#}tI literal 0 HcmV?d00001 diff --git a/simulation/microduck_sim/__pycache__/robot.cpython-312.pyc b/simulation/microduck_sim/__pycache__/robot.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9df395ba56e15eed8344202be7566b222ff45a2a GIT binary patch literal 17883 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 g_ dict: + """Return {verdict: pass|fail, checks: [...], metrics: {...}} for a rollout.""" + metrics = result.metrics() + checks = [] + + def add(name: str, passed: bool, detail: str) -> None: + checks.append({"check": name, "passed": bool(passed), "detail": detail}) + + add("finite_outputs", metrics["all_finite"], + f"max |action| = {metrics['max_abs_action']}") + + if spec.allow_fall: + add("recover_upright", metrics["final_tilt_deg"] < 60.0, + f"final tilt {metrics['final_tilt_deg']} deg, final height " + f"{metrics['final_trunk_height_m']} m") + else: + add("no_fall", metrics["min_trunk_height_m"] > FALL_HEIGHT_M, + f"min trunk height {metrics['min_trunk_height_m']} m") + add("ends_upright", metrics["final_tilt_deg"] < 45.0, + f"final tilt {metrics['final_tilt_deg']} deg") + + add("bounded_drift", metrics["displacement_m"] < MAX_DRIFT_M, + f"displacement {metrics['displacement_m']} m") + + tracking = None + if spec.expect_tracking and spec.kind == "velocity": + results = _tracking_errors(result, spec) + if results: + worst_fraction = min(r["fraction"] for r in results) + worst_cos = min(r["direction_cos"] for r in results) + mean_err = float(np.mean([r["abs_err"] for r in results])) + tracking = round(mean_err, 4) + ok = (worst_fraction >= TRACKING_MIN_FRACTION + and worst_cos >= TRACKING_DIRECTION_COS) + add("velocity_tracking", ok, + f"steady-state speed >= {TRACKING_MIN_FRACTION:.0%} of command " + f"(worst {worst_fraction:.0%}), direction cos >= " + f"{TRACKING_DIRECTION_COS} (worst {worst_cos:.2f}), " + f"mean |v_cmd - v_xy| = {tracking:.3f} m/s") + if spec.expect_tracking and spec.kind == "velocity" and tracking is None: + add("velocity_tracking", False, "no non-zero command segments found") + + verdict = "pass" if all(c["passed"] for c in checks) else "fail" + out = {"verdict": verdict, "checks": checks, "metrics": metrics} + if tracking is not None: + out["metrics"]["mean_tracking_error_mps"] = tracking + return out + + +def _tracking_errors(result, spec) -> list: + """Per-nonzero-segment tracking stats from displacement over the interior. + + Displacement-based stats are robust to gait oscillation and to the + near-zero-speed startup window (direction cosine of tiny instantaneous + velocities is noise). + """ + results = [] + samples = result.samples + segments = spec.segments or [] + t0 = 0.0 + for duration, vx, vy, _wz in segments: + t1 = t0 + duration + cmd_mag = float(np.hypot(vx, vy)) + if cmd_mag > 1e-6: + lo, hi = t0 + TRACK_TRIM_S, t1 - TRACK_TRIM_S + window = [s for s in samples if lo <= s.t <= hi] + if len(window) >= 2: + d = window[-1].trunk_pos[:2] - window[0].trunk_pos[:2] + dist = float(np.linalg.norm(d)) + expected = cmd_mag * (window[-1].t - window[0].t) + frac = dist / expected if expected > 1e-9 else 0.0 + cos = float(np.dot(d, [vx, vy]) / (dist * cmd_mag)) \ + if dist > 1e-6 else 0.0 + results.append({ + "abs_err": float(np.mean([ + np.linalg.norm(s.lin_vel_world[:2] - np.array([vx, vy])) + for s in window + ])), + "fraction": frac, + "direction_cos": cos, + }) + t0 = t1 + return results diff --git a/simulation/microduck_sim/constants.py b/simulation/microduck_sim/constants.py new file mode 100644 index 0000000..f86bfc9 --- /dev/null +++ b/simulation/microduck_sim/constants.py @@ -0,0 +1,75 @@ +"""Constants and helpers shared by the Microduck simulation runtime. + +Every value here is lifted from the official upstream references and must not +be changed casually: + +- DEFAULT_POSE, JOINT_NAMES, ACTION_SCALE, TIMESTEP, DECIMATION: + `pollen-robotics/microduck_rl` `scripts/infer_policy.py` and the official + `pollen-robotics/microduck-simulator` Hugging Face Space + (`app/src/game/constants.js`), which agree exactly. +- Observation layout (61D, unified command mode): + 3 base angular velocity + 3 projected gravity + 14 joint pos (relative to + the default pose) + 14 joint velocities + 14 last actions + 13 command. + The legacy layout (51D) replaces the 13D command with the 3D twist command. +- Command (13D): twist (vx, vy, wz) + head offset (4) + body pose (6). +""" + +from __future__ import annotations + +import numpy as np + +TIMESTEP = 0.005 # infer_policy.py overrides the MJCF's 0.002 with this. +DECIMATION = 4 # 4 * 0.005 s = 0.02 s -> 50 Hz control. +CONTROL_HZ = 50 + +JOINT_NAMES = [ + "left_hip_yaw", "left_hip_roll", "left_hip_pitch", "left_knee", "left_ankle", + "neck_pitch", "head_pitch", "head_yaw", "head_roll", + "right_hip_yaw", "right_hip_roll", "right_hip_pitch", "right_knee", "right_ankle", +] + +# STAND2 pose (matches HOME_FRAME in microduck_constants.py). +DEFAULT_POSE = np.array([ + 0.0, # left_hip_yaw + -0.0873, # left_hip_roll + -0.4579, # left_hip_pitch + -0.0049, # left_knee + 0.4530, # left_ankle + 0.3491, # neck_pitch + 0.3491, # head_pitch + 0.0, # head_yaw + 0.0, # head_roll + 0.0, # right_hip_yaw + 0.0873, # right_hip_roll + 0.4579, # right_hip_pitch + 0.0049, # right_knee + -0.4530, # right_ankle +], dtype=np.float32) + +ACTION_SCALE = 1.0 + +# Initial trunk height of the freejoint (legs variant) from infer_policy.py. +INITIAL_TRUNK_Z = 0.125 + +# Velocity command envelope used by the official runtime (legs variant). +VEL_MAX_X = 0.3 +VEL_MIN_X = -0.3 +VEL_MAX_Y = 0.2 +VEL_MIN_Y = -0.2 +VEL_MAX_ANG = 1.5 + +# Trunk freejoint name in every Microduck MJCF variant. +TRUNK_FREEJOINT = "trunk_base_freejoint" +TRUNK_BODY = "trunk_base" +IMU_GYRO_SENSOR = "imu_ang_vel" + + +def quat_rotate_inverse(quat: np.ndarray, vec: np.ndarray) -> np.ndarray: + """Rotate `vec` from world frame into the frame of `quat` (w, x, y, z).""" + w, x, y, z = quat + # Conjugate quaternion rotates world -> body. + q_conj = np.array([w, -x, -y, -z], dtype=np.float32) + # q * v * q^-1 expanded (t = 2 q_vec x v). + q_vec = q_conj[1:] + t = 2.0 * np.cross(q_vec, vec) + return vec + w * t + np.cross(q_vec, t) diff --git a/simulation/microduck_sim/profiles.py b/simulation/microduck_sim/profiles.py new file mode 100644 index 0000000..2a8a4bd --- /dev/null +++ b/simulation/microduck_sim/profiles.py @@ -0,0 +1,160 @@ +"""Command profiles: how the 13D (or legacy 3D) command evolves over a rollout. + +A profile is a callable that maps elapsed control time -> command vector. +Descriptors may pin a profile and its parameters via the optional +`simulation` block; otherwise a profile is derived from `compatibility.robotd_slot`. +""" + +from __future__ import annotations + +import math +from dataclasses import dataclass, field +from typing import Callable, Optional + +import numpy as np + +from .constants import VEL_MAX_ANG, VEL_MAX_X, VEL_MAX_Y, VEL_MIN_X, VEL_MIN_Y + + +@dataclass +class ProfileSpec: + """Declarative description of a command schedule.""" + + kind: str = "velocity" + # velocity: list of (duration_s, vx, vy, wz) segments, played in order. + segments: list = field(default_factory=list) + # oneshot_phase (crouch / ground pick): period + end phase per upstream. + period_s: float = 4.0 + end_phase: float = 0.7 + # sitstand: seconds holding the sit flag before returning to stand. + hold_s: float = 2.0 + # oneshot_zero: seconds the zeroed command window lasts (kicks, roulade). + duration_s: float = 0.5 + # Values the checks use to decide pass/fail. + allow_fall: bool = False + expect_tracking: bool = True + # Alias of the profile for reports. + name: str = "" + + +def clamp_vel(vx: float, vy: float, wz: float) -> tuple: + return ( + float(np.clip(vx, VEL_MIN_X, VEL_MAX_X)), + float(np.clip(vy, VEL_MIN_Y, VEL_MAX_Y)), + float(np.clip(wz, -VEL_MAX_ANG, VEL_MAX_ANG)), + ) + + +def default_profile_for_slot(slot: str) -> ProfileSpec: + """Derive a sensible default command profile from the robotd slot.""" + if slot in ("walk", "roller"): + return ProfileSpec( + kind="velocity", + segments=[ + (1.0, 0.0, 0.0, 0.0), # settle + (3.0, 0.25, 0.0, 0.0), # walk forward (Space VEL_FWD) + (2.0, 0.25, 0.0, 0.5), # arc right + ], + name=f"{slot}:showcase", + ) + if slot in ("sitstand", "stand"): + # Sitting rests the trunk on the hull (~0.06-0.07 m), which is below + # the standing-height fall threshold; the recovery check applies. + return ProfileSpec(kind="sitstand", allow_fall=True, + expect_tracking=False, name=f"{slot}:cycle") + if slot == "roulade": + return ProfileSpec(kind="oneshot_zero", duration_s=2.0, allow_fall=True, + expect_tracking=False, name=f"{slot}:oneshot") + if slot in ("kick_left", "kick_right"): + return ProfileSpec(kind="oneshot_zero", duration_s=0.5, expect_tracking=False, + name=f"{slot}:oneshot") + if slot == "ground_pick": + return ProfileSpec(kind="oneshot_phase", period_s=4.0, end_phase=0.7, + expect_tracking=False, name=f"{slot}:phase") + return ProfileSpec(kind="standing", expect_tracking=False, name="standing:hold") + + +def profile_from_descriptor(sim_block: Optional[dict], slot: str) -> ProfileSpec: + """Build a ProfileSpec from a descriptor's optional `simulation` block.""" + spec = default_profile_for_slot(slot) + if not sim_block: + return spec + spec.kind = sim_block.get("profile", spec.kind) + spec.name = spec.kind + spec.allow_fall = bool(sim_block.get("allow_fall", spec.allow_fall)) + spec.expect_tracking = bool(sim_block.get("expect_tracking", spec.expect_tracking)) + spec.duration_s = float(sim_block.get("duration_s", spec.duration_s)) + spec.period_s = float(sim_block.get("period_s", spec.period_s)) + spec.end_phase = float(sim_block.get("end_phase", spec.end_phase)) + spec.hold_s = float(sim_block.get("hold_s", spec.hold_s)) + segments = sim_block.get("segments") + if segments: + spec.segments = [(float(s["duration_s"]), float(s["vx"]), float(s["vy"]), + float(s["wz"])) for s in segments] + return spec + + +def make_command_fn(spec: ProfileSpec, use_13d: bool) -> Callable[[float], np.ndarray]: + """Return f(t) -> command vector for the profile. + + `use_13d` selects the unified 13D command (twist + head + body pose); + otherwise the legacy 3D twist command is produced. + """ + def wrap(cmd: np.ndarray) -> np.ndarray: + if not use_13d: + return cmd.astype(np.float32) + return np.concatenate([cmd, np.zeros(10, dtype=np.float32)]).astype(np.float32) + + if spec.kind == "velocity": + segments = spec.segments or [(spec.duration_s or 6.0, 0.0, 0.0, 0.0)] + + def vel_fn(t: float) -> np.ndarray: + remaining = t + chosen = segments[-1] + for duration, vx, vy, wz in segments: + if remaining < duration: + chosen = (duration, vx, vy, wz) + break + remaining -= duration + _, vx, vy, wz = chosen + return wrap(np.array(clamp_vel(vx, vy, wz), dtype=np.float32)) + + return vel_fn + + if spec.kind == "standing": + def stand_fn(t: float) -> np.ndarray: + return wrap(np.zeros(3, dtype=np.float32)) + return stand_fn + + if spec.kind == "sitstand": + # Posture flag in the twist-x slot: 1 = sit, 0 = stand (upstream docs). + hold = spec.hold_s + + def sitstand_fn(t: float) -> np.ndarray: + flag = 1.0 if t < hold else 0.0 + return wrap(np.array([flag, 0.0, 0.0], dtype=np.float32)) + + return sitstand_fn + + if spec.kind == "oneshot_phase": + # Phase encoding in the twist slots: [cos(2pi phi), sin(2pi phi), 0], + # phase advancing 1/period per second, cycle exits at end_phase. + period, end_phase = spec.period_s, spec.end_phase + + def phase_fn(t: float) -> np.ndarray: + if t / period >= end_phase: + cmd = np.zeros(3, dtype=np.float32) + else: + phi = 2.0 * math.pi * (t / period) + cmd = np.array([math.cos(phi), math.sin(phi), 0.0], dtype=np.float32) + return wrap(cmd) + + return phase_fn + + if spec.kind == "oneshot_zero": + # Blind one-shot window with an all-zero command (kicks, roulade). + def zero_fn(t: float) -> np.ndarray: + return wrap(np.zeros(3, dtype=np.float32)) + return zero_fn + + raise ValueError(f"Unknown simulation profile kind: {spec.kind!r}") diff --git a/simulation/microduck_sim/render.py b/simulation/microduck_sim/render.py new file mode 100644 index 0000000..61c3594 --- /dev/null +++ b/simulation/microduck_sim/render.py @@ -0,0 +1,107 @@ +"""Standardized offscreen rendering: deterministic camera, H.264 loop, poster. + +Output contract (the "sim render standard"): +- loop.mp4 : H.264 yuv420p, 30 fps, square 512x512, muted, ~CRF 20, + duration == rollout duration, deterministic given the rollout. +- poster.png : the middle frame, 512x512, with a bottom caption bar. + +The camera is a smoothed chase view (side-on, slight elevation) so every +behavior gets a comparable, stable thumbnail. +""" + +from __future__ import annotations + +import os +import shutil +import subprocess +from pathlib import Path + +os.environ.setdefault("MUJOCO_GL", "egl") + +import mujoco # noqa: E402 (import after MUJOCO_GL is pinned) +import numpy as np # noqa: E402 +from PIL import Image, ImageDraw # noqa: E402 + +LOOP_SIZE = 512 +LOOP_FPS = 30 +CAM_DISTANCE = 0.65 +CAM_ELEVATION = -12.0 +CAM_AZIMUTH = 100.0 +CAM_SMOOTH = 0.08 # per-control-step lookat lerp factor + + +class LoopRenderer: + """Collects frames during a rollout and encodes the standardized outputs.""" + + def __init__(self, model: mujoco.MjModel): + self.renderer = mujoco.Renderer(model, height=LOOP_SIZE, width=LOOP_SIZE) + self.cam = mujoco.MjvCamera() + self.cam.type = mujoco.mjtCamera.mjCAMERA_FREE + self.cam.distance = CAM_DISTANCE + self.cam.elevation = CAM_ELEVATION + self.cam.azimuth = CAM_AZIMUTH + self._lookat = None + self._frames: list[np.ndarray] = [] + + def capture(self, step_index: int, sample) -> None: + # Render every other control step: 50 Hz sim -> 25 fps source, played + # at 30 fps for a slightly sped-up, looping-friendly feel. + if step_index % 2 != 0: + return + pos = np.asarray(sample.trunk_pos, dtype=float) + if self._lookat is None: + self._lookat = pos.copy() + else: + self._lookat = (1.0 - CAM_SMOOTH) * self._lookat + CAM_SMOOTH * pos + self.cam.lookat[:] = self._lookat + self.renderer.update_scene(self._data, camera=self.cam) + self._frames.append(self.renderer.render().copy()) + + def attach(self, data: mujoco.MjData) -> None: + self._data = data + + def _encode_video(self, out_path: Path) -> None: + ffmpeg = shutil.which("ffmpeg") + if ffmpeg is None: + raise RuntimeError("ffmpeg not found on PATH") + h, w = self._frames[0].shape[:2] + proc = subprocess.Popen( + [ffmpeg, "-y", "-loglevel", "error", + "-f", "rawvideo", "-pix_fmt", "rgb24", "-s", f"{w}x{h}", + "-r", str(LOOP_FPS), "-i", "-", + "-an", "-c:v", "libx264", "-pix_fmt", "yuv420p", "-crf", "20", + "-movflags", "+faststart", str(out_path)], + stdin=subprocess.PIPE) + for frame in self._frames: + proc.stdin.write(frame.tobytes()) + proc.stdin.close() + if proc.wait() != 0: + raise RuntimeError(f"ffmpeg failed encoding {out_path}") + + def _encode_poster(self, out_path: Path, caption: str) -> None: + mid = self._frames[len(self._frames) // 2] + img = Image.fromarray(mid) + bar_h = 44 + bar = Image.new("RGB", (img.width, bar_h), (17, 24, 39)) + draw = ImageDraw.Draw(bar) + draw.text((10, 15), caption, fill=(226, 232, 240)) + out = Image.new("RGB", (img.width, img.height + bar_h)) + out.paste(img, (0, 0)) + out.paste(bar, (0, img.height)) + out.save(out_path) + + def finalize(self, out_dir: Path, caption: str) -> dict: + out_dir = Path(out_dir) + out_dir.mkdir(parents=True, exist_ok=True) + loop_path = out_dir / "loop.mp4" + poster_path = out_dir / "poster.png" + self._encode_video(loop_path) + self._encode_poster(poster_path, caption) + self.renderer.close() + return { + "loop": str(loop_path), + "poster": str(poster_path), + "frames": len(self._frames), + "size": LOOP_SIZE, + "fps": LOOP_FPS, + } diff --git a/simulation/microduck_sim/robot.py b/simulation/microduck_sim/robot.py new file mode 100644 index 0000000..b83a682 --- /dev/null +++ b/simulation/microduck_sim/robot.py @@ -0,0 +1,241 @@ +"""MuJoCo Microduck runtime: faithful headless port of the upstream policy loop. + +Reference: `pollen-robotics/microduck_rl` `scripts/infer_policy.py` and the +official `pollen-robotics/microduck-simulator` Space. The physics model is the +Space's `robot_allcollisions.xml` (meshes vendored, hash-pinned in +`simulation/assets.lock.json`); a plain floor and lights are injected for CI +rendering, matching how the Space's `game.js` injects a floor. + +Deviations from hardware inference are limited to: +- no action delay / domain randomization (deterministic CI rollout); +- floor + lights appended to the MJCF (visual only, plus ground contact). +""" + +from __future__ import annotations + +import os +from dataclasses import dataclass, field +from pathlib import Path + +import mujoco +import numpy as np +import onnxruntime as ort + +from .constants import ( + ACTION_SCALE, + DECIMATION, + DEFAULT_POSE, + INITIAL_TRUNK_Z, + TIMESTEP, + TRUNK_BODY, + TRUNK_FREEJOINT, + IMU_GYRO_SENSOR, + quat_rotate_inverse, +) + +# Floor + lights injected into the vendored MJCF (which is robot-only). +_FLOOR_XML = """ + + + +""" + + +def load_model(mjcf_path: str | Path) -> mujoco.MjModel: + """Load the Microduck MJCF with the runtime's timestep and CI floor.""" + mjcf_path = Path(mjcf_path).resolve() + xml = mjcf_path.read_text() + # Inject floor/lights right after . + idx = xml.index("") + len("") + xml = xml[:idx] + "\n" + _FLOOR_XML + xml[idx:] + # from_xml_string resolves the MJCF's relative meshdir against the process + # CWD, so scope a chdir to the model directory. + prev = os.getcwd() + os.chdir(mjcf_path.parent) + try: + model = mujoco.MjModel.from_xml_string(xml) + finally: + os.chdir(prev) + model.opt.timestep = TIMESTEP + # Offscreen framebuffer sized for the standardized 512x512 render loop. + model.vis.global_.offwidth = 512 + model.vis.global_.offheight = 512 + return model + + +@dataclass +class StepSample: + """One 50 Hz control step of recorded telemetry.""" + + t: float + command: np.ndarray + action: np.ndarray + trunk_height: float + trunk_pos: np.ndarray + upright_z: float # projected-gravity z (-1 = perfectly upright) + lin_vel_world: np.ndarray + + +@dataclass +class RolloutResult: + samples: list = field(default_factory=list) + obs_dim: int = 0 + use_13d: bool = True + control_steps: int = 0 + sim_steps: int = 0 + duration_s: float = 0.0 + + def metrics(self) -> dict: + h = np.array([s.trunk_height for s in self.samples]) + uz = np.array([s.upright_z for s in self.samples]) + xy = np.array([s.trunk_pos[:2] for s in self.samples]) + acts = np.array([s.action for s in self.samples]) + finite = bool(np.isfinite(acts).all() and np.isfinite(h).all()) + return { + "duration_s": round(self.duration_s, 3), + "control_steps": self.control_steps, + "obs_dim": self.obs_dim, + "command_dim": 13 if self.use_13d else 3, + "min_trunk_height_m": round(float(h.min()), 4), + "final_trunk_height_m": round(float(h[-1]), 4), + "max_tilt_deg": round(float(np.degrees(np.arccos(np.clip(-uz.min(), -1, 1)))), 2), + "final_tilt_deg": round(float(np.degrees(np.arccos(np.clip(-uz[-1], -1, 1)))), 2), + "path_length_m": round(float(float(np.abs(np.diff(xy, axis=0)).sum())), 3), + "displacement_m": round(float(np.linalg.norm(xy[-1] - xy[0])), 3), + "max_abs_action": round(float(np.abs(acts).max()), 4), + "all_finite": finite, + } + + +class DuckRuntime: + """Deterministic Microduck policy rollout in MuJoCo.""" + + def __init__(self, model: mujoco.MjModel, onnx_path, action_scale: float = ACTION_SCALE): + self.model = model + self.data = mujoco.MjData(model) + self.action_scale = float(action_scale) + + so = ort.SessionOptions() + so.intra_op_num_threads = 2 + self.session = ort.InferenceSession(str(onnx_path), so, + providers=["CPUExecutionProvider"]) + self.input_name = self.session.get_inputs()[0].name + self.output_name = self.session.get_outputs()[0].name + in_shape = self.session.get_inputs()[0].shape + last = in_shape[-1] if isinstance(in_shape[-1], int) else None + if last not in (51, 61, None): + raise ValueError(f"Policy expects {in_shape}; expected 51 or 61 obs dims") + self.use_13d = last is None or last == 61 + self.obs_dim = 61 if self.use_13d else 51 + + self.imu_ang_vel_id = mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_SENSOR, + IMU_GYRO_SENSOR) + if self.imu_ang_vel_id < 0: + raise ValueError("Sensor 'imu_ang_vel' missing from MJCF") + self.trunk_base_id = mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_BODY, TRUNK_BODY) + trunk_jid = mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_JOINT, TRUNK_FREEJOINT) + self._trunk_qpos_adr = int(model.jnt_qposadr[trunk_jid]) + self._trunk_qvel_adr = int(model.jnt_dofadr[trunk_jid]) + self.n_joints = model.nu + self.joint_qpos_indices = [ + int(model.jnt_qposadr[model.actuator_trnid[i, 0]]) for i in range(model.nu) + ] + self.joint_qvel_indices = [ + int(model.jnt_dofadr[model.actuator_trnid[i, 0]]) for i in range(model.nu) + ] + self.default_pose = DEFAULT_POSE[: self.n_joints] + self.last_action = np.zeros(self.n_joints, dtype=np.float32) + self.reset() + + def reset(self) -> None: + mujoco.mj_resetData(self.model, self.data) + adr = self._trunk_qpos_adr + self.data.qpos[adr + 0] = 0.0 + self.data.qpos[adr + 1] = 0.0 + self.data.qpos[adr + 2] = INITIAL_TRUNK_Z + self.data.qpos[adr + 3:adr + 7] = [1, 0, 0, 0] + for i, qpos_idx in enumerate(self.joint_qpos_indices): + self.data.qpos[qpos_idx] = self.default_pose[i] + self.data.ctrl[:] = self.default_pose + self.last_action = np.zeros(self.n_joints, dtype=np.float32) + mujoco.mj_forward(self.model, self.data) + + # -- observations (exact upstream layout) -------------------------------- + def _base_ang_vel(self) -> np.ndarray: + adr = self.model.sensor_adr[self.imu_ang_vel_id] + return self.data.sensordata[adr:adr + 3].copy().astype(np.float32) + + def _projected_gravity(self) -> np.ndarray: + quat = self.data.xquat[self.trunk_base_id].copy().astype(np.float32) + world_gravity = np.array([0.0, 0.0, -1.0], dtype=np.float32) + return quat_rotate_inverse(quat, world_gravity) + + def _joint_pos_rel(self) -> np.ndarray: + pos = self.data.qpos[self.joint_qpos_indices].copy().astype(np.float32) + return pos - self.default_pose + + def _joint_vel(self) -> np.ndarray: + return self.data.qvel[self.joint_qvel_indices].copy().astype(np.float32) + + def get_observation(self, command: np.ndarray) -> np.ndarray: + obs = [ + self._base_ang_vel(), + self._projected_gravity(), + self._joint_pos_rel(), + self._joint_vel(), + self.last_action, + ] + if self.use_13d: + cmd = np.zeros(13, dtype=np.float32) + cmd[: len(command)] = command + else: + cmd = np.asarray(command, dtype=np.float32)[:3] + obs.append(cmd) + return np.concatenate(obs).astype(np.float32) + + # -- stepping ------------------------------------------------------------ + def infer(self, command: np.ndarray) -> np.ndarray: + obs = self.get_observation(command).reshape(1, -1) + action = self.session.run([self.output_name], {self.input_name: obs})[0] + action = action.squeeze(0).astype(np.float32) + self.last_action = action.copy() + return action + + def apply_action(self, action: np.ndarray) -> None: + self.data.ctrl[:] = self.default_pose + action * self.action_scale + + def step_control(self, t: float, command: np.ndarray) -> StepSample: + """One 50 Hz control step: infer, then DECIMATION physics substeps.""" + action = self.infer(command) + self.apply_action(action) + for _ in range(DECIMATION): + mujoco.mj_step(self.model, self.data) + quat = self.data.xquat[self.trunk_base_id].astype(np.float32) + uz = float(quat_rotate_inverse(quat, np.array([0, 0, -1], np.float32))[2]) + return StepSample( + t=t, + command=np.asarray(command, dtype=np.float32).copy(), + action=action.copy(), + trunk_height=float(self.data.qpos[self._trunk_qpos_adr + 2]), + trunk_pos=self.data.qpos[self._trunk_qpos_adr:self._trunk_qpos_adr + 3].copy(), + upright_z=uz, + lin_vel_world=self.data.qvel[self._trunk_qvel_adr:self._trunk_qvel_adr + 3].copy(), + ) + + def rollout(self, command_fn, duration_s: float, frame_hook=None) -> RolloutResult: + """Run a rollout; `frame_hook(k, sample)` fires after every control step.""" + result = RolloutResult(obs_dim=self.obs_dim, use_13d=self.use_13d) + n_steps = int(round(duration_s * 50)) + for k in range(n_steps): + t = k / 50.0 + command = command_fn(t) + if not self.use_13d: + command = command[:3] + sample = self.step_control(t, command) + result.samples.append(sample) + if frame_hook is not None: + frame_hook(k, sample) + result.control_steps = n_steps + result.sim_steps = n_steps * DECIMATION + result.duration_s = n_steps / 50.0 + return result diff --git a/simulation/requirements.txt b/simulation/requirements.txt new file mode 100644 index 0000000..afcf71e --- /dev/null +++ b/simulation/requirements.txt @@ -0,0 +1,4 @@ +mujoco>=3.3,<4 +onnxruntime>=1.20,<2 +numpy>=2.0,<3 +pillow>=11,<13 diff --git a/simulation/run_check.py b/simulation/run_check.py new file mode 100644 index 0000000..c900f27 --- /dev/null +++ b/simulation/run_check.py @@ -0,0 +1,165 @@ +#!/usr/bin/env python3 +"""Run the standardized simulation check for one registry behavior. + +Usage: + python -m run_check --behavior alpha-walking [--out OUT_DIR] [--keep-media] + +Reads `registry/behaviors/.json`, downloads the canonical ONNX (hosts are +restricted to the registry artifact allowlist), derives the command profile +from `compatibility.robotd_slot` (or the optional `simulation` block), runs a +deterministic MuJoCo rollout at the 50 Hz runtime contract, then writes: + + OUT//report.json verdict, checks, metrics, provenance + OUT//loop.mp4 standardized 512x512 H.264 render loop + OUT//poster.png standardized poster (middle frame + caption bar) + +Exit code 0 = pass, 1 = fail, 2 = error (could not run at all). +""" + +from __future__ import annotations + +import argparse +import datetime as _dt +import hashlib +import json +import os +import re +import sys +import tempfile +import urllib.request +from pathlib import Path + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) + +os.environ.setdefault("MUJOCO_GL", "egl") + +import mujoco # noqa: E402 + +from microduck_sim import checks, render # noqa: E402 +from microduck_sim.profiles import make_command_fn, profile_from_descriptor # noqa: E402 +from microduck_sim.robot import DuckRuntime, load_model # noqa: E402 + +REPO_ROOT = HERE.parent +ALLOWED_HOSTS = ("huggingface.co", "raw.githubusercontent.com") +DEFAULT_DURATION_S = 6.0 +MAX_ONNX_BYTES = 100 * 1024 * 1024 + + +def load_descriptor(behavior_id: str) -> dict: + path = REPO_ROOT / "registry" / "behaviors" / f"{behavior_id}.json" + if not path.exists(): + raise SystemExit(f"no descriptor at {path}") + return json.loads(path.read_text()) + + +def download_onnx(descriptor: dict, dest_dir: Path) -> Path: + url = descriptor["artifacts"]["onnx"]["url"] + host = re.match(r"https://([^/]+)/", url) + if not host or host.group(1) not in ALLOWED_HOSTS: + raise ValueError(f"artifact host not allowed: {url}") + filename = descriptor["artifacts"]["onnx"].get("filename") or url.rsplit("/", 1)[-1] + dest = dest_dir / filename + if not dest.exists(): + req = urllib.request.Request(url, headers={"User-Agent": "uduck-registry-ci"}) + with urllib.request.urlopen(req, timeout=300) as resp, dest.open("wb") as out: + size = 0 + while True: + chunk = resp.read(1 << 20) + if not chunk: + break + size += len(chunk) + if size > MAX_ONNX_BYTES: + raise ValueError("ONNX artifact exceeds 100 MB sanity bound") + out.write(chunk) + return dest + + +def run(behavior_id: str, out_dir: Path, keep_media: bool) -> int: + descriptor = load_descriptor(behavior_id) + contract = descriptor["contract"] + slot = descriptor["compatibility"]["robotd_slot"] + sim_block = descriptor.get("simulation") + spec = profile_from_descriptor(sim_block, slot) + duration = float(sim_block.get("duration_s", DEFAULT_DURATION_S)) if sim_block else \ + (sum(s[0] for s in spec.segments) if spec.segments else DEFAULT_DURATION_S) + if not sim_block and spec.kind in ("oneshot_zero", "oneshot_phase"): + # Gesture window plus a 2 s settle before the recovery check. + duration = spec.duration_s + 2.0 + + with tempfile.TemporaryDirectory(prefix="uduck-sim-") as tmp: + onnx_path = download_onnx(descriptor, Path(tmp)) + onnx_sha = hashlib.sha256(onnx_path.read_bytes()).hexdigest() + + from fetch_assets import fetch + mjcf = fetch() + model = load_model(mjcf) + + print(f"[sim] loading runtime for {behavior_id}...", flush=True) + runtime = DuckRuntime(model, onnx_path, + action_scale=float(contract.get("action_scale", 1.0))) + command_fn = make_command_fn(spec, runtime.use_13d) + print(f"[sim] obs_dim={runtime.obs_dim} profile={spec.name or spec.kind} " + f"duration={duration}s", flush=True) + + renderer = render.LoopRenderer(model) + renderer.attach(runtime.data) + + def hook(k, sample): + if k % 50 == 0: + print(f"[sim] step {k}/{int(duration * 50)}", flush=True) + renderer.capture(k, sample) + + result = runtime.rollout(command_fn, duration, frame_hook=hook) + report = checks.evaluate(result, spec) + + media = None + if keep_media: + caption = f"{descriptor['name']} - sim (MuJoCo, 50 Hz)" + media = renderer.finalize(out_dir / behavior_id, caption) + + report.update({ + "behavior": behavior_id, + "profile": spec.name or spec.kind, + "duration_s": duration, + "policy": { + "url": descriptor["artifacts"]["onnx"]["url"], + "sha256": onnx_sha, + "baked_normalizer": descriptor["artifacts"]["onnx"].get("baked_normalizer"), + }, + "media": media, + "generated_at": _dt.datetime.now(_dt.timezone.utc).isoformat(), + "sim": { + "mjcf": "robot_allcollisions.xml (pollen-robotics/microduck-simulator, pinned)", + "timestep_s": 0.005, + "decimation": 4, + "control_hz": 50, + "renderer": "mujoco EGL offscreen", + }, + }) + (out_dir / behavior_id).mkdir(parents=True, exist_ok=True) + report_path = out_dir / behavior_id / "report.json" + report_path.write_text(json.dumps(report, indent=2) + "\n") + + print(f"[{behavior_id}] {report['verdict'].upper()} -> {report_path}") + for c in report["checks"]: + print(f" {'PASS' if c['passed'] else 'FAIL'} {c['check']}: {c['detail']}") + return 0 if report["verdict"] == "pass" else 1 + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--behavior", required=True) + parser.add_argument("--out", default=str(REPO_ROOT / "sim-results")) + parser.add_argument("--keep-media", action="store_true", + help="render the loop.mp4 / poster.png (slower)") + args = parser.parse_args() + try: + return run(args.behavior, Path(args.out), args.keep_media) + except Exception as exc: # noqa: BLE001 + print(f"ERROR running sim for {args.behavior}: {exc}", file=sys.stderr) + return 2 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/schema.test.ts b/tests/schema.test.ts index 1a694ef..aa51598 100644 --- a/tests/schema.test.ts +++ b/tests/schema.test.ts @@ -141,4 +141,39 @@ describe("behavior schema", () => { expect(BehaviorSchema.safeParse(badCompatibilityKey).success).toBe(false); }); + it("accepts the optional simulation block and rejects bad values", () => { + const withSim = fixture(); + withSim.simulation = { + profile: "velocity", + duration_s: 8, + segments: [ + { duration_s: 2, vx: 0.2, vy: 0, wz: 0 }, + { duration_s: 1.5, vx: 0.1, vy: 0, wz: 0.5 }, + ], + }; + expect(BehaviorSchema.safeParse(withSim).success).toBe(true); + + const minimal = fixture(); + minimal.simulation = { profile: "standing" }; + expect(BehaviorSchema.safeParse(minimal).success).toBe(true); + + for (const sim of [ + { profile: "teleport" }, + { duration_s: 0.5 }, + { duration_s: 60 }, + { end_phase: 1.5 }, + { segments: [{ duration_s: 0, vx: 0, vy: 0, wz: 0 }] }, + { segments: [{ duration_s: 1, vx: 0, vy: 0, wz: 0, boost: 1 }] }, + ]) { + const bad = fixture(); + bad.simulation = sim; + expect(BehaviorSchema.safeParse(bad).success, JSON.stringify(sim)).toBe(false); + } + + const badKey = fixture(); + badKey.simulation = { profile: "standing", warp: true }; + expect(BehaviorSchema.safeParse(badKey).success).toBe(false); + }); + }); + From 4e7743c692e57d27aacd08d9fc9922b6eb64dcff Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 1 Sep 2026 16:48:06 -0300 Subject: [PATCH 2/5] chore: ignore python bytecode --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 162bb34..813fa21 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,7 @@ session-*.md .simcache/ sim-results/ .research/ + +# Python +__pycache__/ +*.pyc From e72c2d0a7c5f0790a011084099ab0cec68a62301 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 1 Sep 2026 19:37:46 -0300 Subject: [PATCH 3/5] fix: align sim runtime with registry contract --- CONTRIBUTING.md | 7 +++---- README.md | 2 +- research/ci-sim-viability.md | 17 +++++++++-------- simulation/README.md | 6 +++--- .../__pycache__/fetch_assets.cpython-312.pyc | Bin 4721 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 274 -> 0 bytes .../__pycache__/checks.cpython-312.pyc | Bin 6061 -> 0 bytes .../__pycache__/constants.cpython-312.pyc | Bin 2560 -> 0 bytes .../__pycache__/profiles.cpython-312.pyc | Bin 8419 -> 0 bytes .../__pycache__/render.cpython-312.pyc | Bin 6558 -> 0 bytes .../__pycache__/robot.cpython-312.pyc | Bin 17883 -> 0 bytes simulation/microduck_sim/constants.py | 4 +++- simulation/microduck_sim/robot.py | 16 +++++++++++----- simulation/run_check.py | 6 ++++++ tests/schema.test.ts | 1 - 15 files changed, 36 insertions(+), 23 deletions(-) delete mode 100644 simulation/__pycache__/fetch_assets.cpython-312.pyc delete mode 100644 simulation/microduck_sim/__pycache__/__init__.cpython-312.pyc delete mode 100644 simulation/microduck_sim/__pycache__/checks.cpython-312.pyc delete mode 100644 simulation/microduck_sim/__pycache__/constants.cpython-312.pyc delete mode 100644 simulation/microduck_sim/__pycache__/profiles.cpython-312.pyc delete mode 100644 simulation/microduck_sim/__pycache__/render.cpython-312.pyc delete mode 100644 simulation/microduck_sim/__pycache__/robot.cpython-312.pyc diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 07114ee..741c296 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -51,10 +51,9 @@ through a headless MuJoCo simulation (the `Sim Check` workflow): the registry downloads your canonical ONNX, drives it at the shared 50 Hz runtime contract under a command profile derived from `compatibility.robotd_slot`, and verifies the rollout is finite, stable, and (for velocity policies) tracking in the -commanded direction. It also renders a standardized 512x512 `loop.mp4` -thumbnail you can adopt as your `media.loop_url` — self-hosted on -uduckmoves.com, so it loads in regions where GitHub/Hugging Face media is -unreliable. +commanded direction. It also renders a standardized 512x512 `loop.mp4` and +`poster.png`, which are uploaded to the workflow run for review. They are not +published to the catalog automatically. - Profile details and the pass criteria: [`simulation/README.md`](simulation/README.md). - If your behavior intentionally leaves the feet (rolls, jumps), set `"simulation": { "allow_fall": true }`. diff --git a/README.md b/README.md index d96e441..a0e3d14 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Pull requests touching `registry/behaviors/` are automatically run through a headless MuJoCo simulation check (`Sim Check` workflow): the contributed ONNX is executed at the shared 50 Hz runtime contract under a standard command profile, verified (finite outputs, stability, recovery, tracking), and a -standardized 512x512 render loop is produced as a catalog-ready thumbnail. +standardized 512x512 render loop is produced as a workflow artifact for review. See [`simulation/README.md`](simulation/README.md) for the render standard, command profiles, and fidelity notes. diff --git a/research/ci-sim-viability.md b/research/ci-sim-viability.md index 8113be7..a224569 100644 --- a/research/ci-sim-viability.md +++ b/research/ci-sim-viability.md @@ -44,8 +44,9 @@ is byte-identical to the one in `microduck_rl`. ## Findings that matter -- Community ONNX policies may declare a dynamic batch axis or the legacy 51D - obs (3D twist command). The runtime auto-detects via input shape. +- The registry contract is fixed at 61 observations (including the unified 13D + command) and 14 actions. The runtime accepts a dynamic batch axis but rejects + artifacts whose feature or action dimensions do not match that contract. - Deterministic CPU sim under-reports locomotion speed vs hardware claims (~40-50% of commanded vx for the official walk policy with a step command). Tracking checks verify direction + a minimum fraction, not equality. @@ -55,12 +56,12 @@ is byte-identical to the one in `microduck_rl`. ## China / restricted-region angle -Sim-rendered loops are generated in CI and committed under -`public/media/sim//loop.mp4` — first-party assets on our own domain, no -raw.githubusercontent.com / HF signed-redirect dependency. They are also a -fallback for behaviors whose authors did not provide media, so every card can -have a standardized preview. Original author media remains canonical and -preferred where available (mirrored via the existing `remote-cache`). +Sim-rendered loops are generated in CI and uploaded as workflow artifacts for +review. The current workflow does not commit them under `public/media/sim/`, +publish them to uduckmoves.com, or update descriptors automatically. Original +author media remains canonical and preferred where available (mirrored via the +existing `remote-cache`). Deciding whether and how to publish generated renders +is a separate integration step. ## Costs diff --git a/simulation/README.md b/simulation/README.md index e1588bd..9f074ef 100644 --- a/simulation/README.md +++ b/simulation/README.md @@ -89,6 +89,6 @@ against the official browser simulator (`app/src/game/game.js` and `constants.js` in the `microduck-simulator` Space). The port was validated by driving both the upstream reference script and this runtime with the same policy/scene/command: observations match exactly at reset and trunk trajectories -agree within ~3% over 8 s (float-ordering drift). Both 61D (unified 13D -command) and legacy 51D (3D twist) policies are supported, selected by the -ONNX input shape. +agree within ~3% over 8 s (float-ordering drift). The registry contract is fixed +at 61 observations (including the unified 13D command) and 14 actions; the +runtime rejects artifacts with other input or output dimensions. diff --git a/simulation/__pycache__/fetch_assets.cpython-312.pyc b/simulation/__pycache__/fetch_assets.cpython-312.pyc deleted file mode 100644 index 6563b609959771b87fa5a5bf14390b7e9e6f8363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4721 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 diff --git a/simulation/microduck_sim/__pycache__/__init__.cpython-312.pyc b/simulation/microduck_sim/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 226c5e3b65271968ea53920fbb043ce090960731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 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 Q25Il3F}jhiz+{g91+bYC>;M1& diff --git a/simulation/microduck_sim/__pycache__/constants.cpython-312.pyc b/simulation/microduck_sim/__pycache__/constants.cpython-312.pyc deleted file mode 100644 index 906321d02a8b8f056a350b6ba4196a9aa0c7bd03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmah~UuYx88Q;}E%PULr-|O8$a}$>qtClT%PD;6ys*0_<_+m>JTi4o4VYS*Ft=3-c zu4h-W*R?@`(w?Dk?n~o@La*sVa`b55@>Fo?TM31RE5!^gT$@6;H#c{I5-9YWmDVzS zXa{!on{U4PeShbh50goOgYlXBlg$iJAG1X;B3*)i_5g^tIF%DQl~+Rs-wcT%p3z|= zEJoCb7*(TUOpS>H8mA7t%Zu?4ha;P#0Z{)B`|)>q*cn=)KPI<9TO+i33dGY5%H22&Rmj1VUAm{OvjZ?*FmzW zq6Ri>OdRAiWP(*x^N`!XXhm0urM8qU6)ayEnmDOyr3^pwlXPCS5s3toYjMpGz z1huhYDZ1;SY1pxewTTs$AdSfFE_d!Fv}x(4i)_n5Qv|a#w=r@pz+&F3xGuL0e;a22 z|hve0vS3QlBh^!BIPyIIusAe4K|&IXoMmO2MR$X;Tcnx%ToOAH~* z%nDE09m?=DA)8Qteu$lt_Pz06-TK>}n}5nK_0#K2Bt?e|Tz930ZcCoLLzCw#0+mHm z=Sy36l?EO3*IOpWRPagJ+%kYRv9cv~MFeJCkB<8^!yWV~A2UgGtM#B6bbs9g z>@s|%i7xGH&7?kIUb3MTPtTs;-uU1|TYvxMKfF@<>xpLmg8xl))IHHY{CV+%XaD|7 z{*yPq^1C0r_nklI$poArtoQV%03aU#oA^Zs~z zPMm1(yv@e%^8sf4$U)TQeHoZGFP`Z!_e1;P1h*f7FPh-Ah#LrVo4p=?&H&;O zAN1ja*nUh6so|^K!GIdMpo7`+Ut@n@|NPuu6fBGH^Po4*=sl4Azo+AYRwlj1WukkF ztE_%8sxh?-Hb(dBhRkvHRTSZelSp;_muFPI$mRth3rz||B zUK+S>Wg;|W+B7N?B71b8ZdkHAf1O6*S#X@pAdN5_8V0qL-=X|2G?QN4r zw;?&OLf^DKI>z)% z#P?p(O?Z!>TTX+n1^65brVjUHWa7=+okC~(-i!C%_(w8*fBkU%X#05Xc=CArxb|S~ z!Q_$kX!Y0PL-9|^uXk=f85%vBJGy@FcBgn6PyDEMzj4?&Y8@+&Q|jYEP`(_EnyseokuNej9z1ST=s#{$SSXh&tL0_s zHIXJRyo}@prtKO#ICSy(q(c{9OqyOQEmf8Z%Ti_aZs~PNq=VlsE=wzgb!ojvE|tzn z;BNG}8#EEf7D~5hx{GjgwOI7cphB1NYI$)3)U4cc5;}W<6Nc_zJ-qt-T6%b*Gjuk|4UfSu#*JO>q~Vtw?hKv| f`BOTeQX>Ea5}8i=G= diff --git a/simulation/microduck_sim/__pycache__/profiles.cpython-312.pyc b/simulation/microduck_sim/__pycache__/profiles.cpython-312.pyc deleted file mode 100644 index 2ff52a8e1e09df1b887182048984ba5ef5a0d786..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8419 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 L`3psILx%qa2#}tI diff --git a/simulation/microduck_sim/__pycache__/robot.cpython-312.pyc b/simulation/microduck_sim/__pycache__/robot.cpython-312.pyc deleted file mode 100644 index 9df395ba56e15eed8344202be7566b222ff45a2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17883 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 g_ 50 Hz control. CONTROL_HZ = 50 diff --git a/simulation/microduck_sim/robot.py b/simulation/microduck_sim/robot.py index b83a682..5fa76e6 100644 --- a/simulation/microduck_sim/robot.py +++ b/simulation/microduck_sim/robot.py @@ -22,10 +22,12 @@ import onnxruntime as ort from .constants import ( + ACTION_DIM, ACTION_SCALE, DECIMATION, DEFAULT_POSE, INITIAL_TRUNK_Z, + OBSERVATION_DIM, TIMESTEP, TRUNK_BODY, TRUNK_FREEJOINT, @@ -122,11 +124,15 @@ def __init__(self, model: mujoco.MjModel, onnx_path, action_scale: float = ACTIO self.input_name = self.session.get_inputs()[0].name self.output_name = self.session.get_outputs()[0].name in_shape = self.session.get_inputs()[0].shape - last = in_shape[-1] if isinstance(in_shape[-1], int) else None - if last not in (51, 61, None): - raise ValueError(f"Policy expects {in_shape}; expected 51 or 61 obs dims") - self.use_13d = last is None or last == 61 - self.obs_dim = 61 if self.use_13d else 51 + out_shape = self.session.get_outputs()[0].shape + input_dim = in_shape[-1] if in_shape and isinstance(in_shape[-1], int) else None + output_dim = out_shape[-1] if out_shape and isinstance(out_shape[-1], int) else None + if input_dim != OBSERVATION_DIM: + raise ValueError(f"Policy expects {in_shape}; expected {OBSERVATION_DIM} obs dims") + if output_dim != ACTION_DIM: + raise ValueError(f"Policy returns {out_shape}; expected {ACTION_DIM} actions") + self.use_13d = True + self.obs_dim = OBSERVATION_DIM self.imu_ang_vel_id = mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_SENSOR, IMU_GYRO_SENSOR) diff --git a/simulation/run_check.py b/simulation/run_check.py index c900f27..01b482d 100644 --- a/simulation/run_check.py +++ b/simulation/run_check.py @@ -37,6 +37,7 @@ import mujoco # noqa: E402 from microduck_sim import checks, render # noqa: E402 +from microduck_sim.constants import ACTION_DIM, OBSERVATION_DIM # noqa: E402 from microduck_sim.profiles import make_command_fn, profile_from_descriptor # noqa: E402 from microduck_sim.robot import DuckRuntime, load_model # noqa: E402 @@ -78,6 +79,11 @@ def download_onnx(descriptor: dict, dest_dir: Path) -> Path: def run(behavior_id: str, out_dir: Path, keep_media: bool) -> int: descriptor = load_descriptor(behavior_id) contract = descriptor["contract"] + if (contract["observation_dim"], contract["action_dim"]) != (OBSERVATION_DIM, ACTION_DIM): + raise ValueError( + f"descriptor contract must be {OBSERVATION_DIM} observations and " + f"{ACTION_DIM} actions" + ) slot = descriptor["compatibility"]["robotd_slot"] sim_block = descriptor.get("simulation") spec = profile_from_descriptor(sim_block, slot) diff --git a/tests/schema.test.ts b/tests/schema.test.ts index aa51598..612b5b7 100644 --- a/tests/schema.test.ts +++ b/tests/schema.test.ts @@ -176,4 +176,3 @@ describe("behavior schema", () => { }); }); - From 95aa97afaad44af8e9f78253223c04e59e229a00 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 1 Sep 2026 20:10:30 -0300 Subject: [PATCH 4/5] feat: refine simulation profiles and renders --- public/registry.json | 14 ++++++++++++++ registry/behaviors/jump.json | 7 +++++++ registry/behaviors/max-height-jump.json | 7 +++++++ registry/schema/behavior.schema.json | 3 ++- registry/schema/behavior.ts | 2 ++ simulation/README.md | 11 +++++++++-- simulation/microduck_sim/profiles.py | 16 ++++++++++++++++ simulation/microduck_sim/render.py | 13 ++++++++----- tests/schema.test.ts | 5 +++++ 9 files changed, 70 insertions(+), 8 deletions(-) diff --git a/public/registry.json b/public/registry.json index 8fd1835..f8b7375 100644 --- a/public/registry.json +++ b/public/registry.json @@ -1116,6 +1116,13 @@ }, "deployment": { "robotd_toml": "[policy]\ncustom = \"/opt/robot/policies/max_height_jump.onnx\"\n# twist-vx: 1 requests launch; return it to 0 after touchdown.\n# The preview's durable reset also needs the companion standing ONNX and the documented 0.22 s / 0.14 s runtime blend." + }, + "simulation": { + "profile": "oneshot_trigger", + "duration_s": 4, + "trigger_s": 0.2, + "allow_fall": true, + "expect_tracking": false } }, { @@ -1503,6 +1510,13 @@ }, "deployment": { "robotd_toml": "[policy]\ncustom = \"/opt/robot/policies/jump.onnx\"" + }, + "simulation": { + "profile": "oneshot_trigger", + "duration_s": 4, + "trigger_s": 0.2, + "allow_fall": true, + "expect_tracking": false } } ] diff --git a/registry/behaviors/jump.json b/registry/behaviors/jump.json index a2f0dfa..0a9d6c5 100644 --- a/registry/behaviors/jump.json +++ b/registry/behaviors/jump.json @@ -53,6 +53,13 @@ ], "robotd_slot": "custom" }, + "simulation": { + "profile": "oneshot_trigger", + "trigger_s": 0.2, + "duration_s": 4, + "allow_fall": true, + "expect_tracking": false + }, "artifacts": { "onnx": { "filename": "jump.onnx", diff --git a/registry/behaviors/max-height-jump.json b/registry/behaviors/max-height-jump.json index a2921f5..6860f01 100644 --- a/registry/behaviors/max-height-jump.json +++ b/registry/behaviors/max-height-jump.json @@ -57,6 +57,13 @@ ], "robotd_slot": "custom" }, + "simulation": { + "profile": "oneshot_trigger", + "trigger_s": 0.2, + "duration_s": 4, + "allow_fall": true, + "expect_tracking": false + }, "artifacts": { "onnx": { "filename": "max_height_jump.onnx", diff --git a/registry/schema/behavior.schema.json b/registry/schema/behavior.schema.json index ec0a11b..755f4a4 100644 --- a/registry/schema/behavior.schema.json +++ b/registry/schema/behavior.schema.json @@ -349,9 +349,10 @@ "properties": { "profile": { "type": "string", - "enum": ["velocity", "standing", "sitstand", "oneshot_phase", "oneshot_zero"] + "enum": ["velocity", "standing", "sitstand", "oneshot_phase", "oneshot_zero", "oneshot_trigger"] }, "duration_s": { "type": "number", "minimum": 1, "maximum": 30 }, + "trigger_s": { "type": "number", "minimum": 0, "maximum": 5 }, "period_s": { "type": "number", "exclusiveMinimum": 0, "maximum": 30 }, "end_phase": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 }, "hold_s": { "type": "number", "minimum": 0, "maximum": 30 }, diff --git a/registry/schema/behavior.ts b/registry/schema/behavior.ts index 40960a9..fb7358b 100644 --- a/registry/schema/behavior.ts +++ b/registry/schema/behavior.ts @@ -163,8 +163,10 @@ const BehaviorInputSchema = strict({ "sitstand", "oneshot_phase", "oneshot_zero", + "oneshot_trigger", ]).optional(), duration_s: z.number().min(1).max(30).optional(), + trigger_s: z.number().min(0).max(5).optional(), period_s: z.number().positive().max(30).optional(), end_phase: z.number().positive().max(1).optional(), hold_s: z.number().min(0).max(30).optional(), diff --git a/simulation/README.md b/simulation/README.md index 9f074ef..039c405 100644 --- a/simulation/README.md +++ b/simulation/README.md @@ -36,7 +36,7 @@ uniformly (and host them from our own domain — relevant for regions where GitHub/HF media is unreliable, e.g. mainland China): - square 512x512, H.264 `yuv420p`, 30 fps, muted, faststart; -- fixed smoothing chase camera (side-on, −12° elevation, 0.65 m); +- fixed smoothing chase camera (side-on, −12° elevation, 0.72 m); - rollout equals the profile duration (default 6 s); - deterministic given the policy artifact and profile. @@ -51,7 +51,7 @@ The command schedule defaults from `compatibility.robotd_slot`: | `roulade` | 2 s zeroed one-shot window, falls allowed | | `kick_left`, `kick_right` | 0.5 s zeroed one-shot window | | `ground_pick` | phase-encoded `[cos, sin, 0]` one-shot (period 4 s, ends at 0.7) | -| `custom` | standing hold | +| `custom` | standing hold smoke check | Descriptors can override with an optional `simulation` block: @@ -68,6 +68,13 @@ Descriptors can override with an optional `simulation` block: } ``` +Known one-shot custom policies can use `oneshot_trigger`: it sends a short +`twist-vx = 1` launch request, then `0` for the rest of the rollout. This is +used by the published jump descriptors. The current robotd design does not +define a `jump` slot, so those descriptors correctly remain `custom`; the +profile describes their documented command semantics rather than claiming an +official slot. + `allow_fall` marks behaviors that intentionally leave the feet (roulade, jumps): the check then requires the robot to recover upright instead of never falling. diff --git a/simulation/microduck_sim/profiles.py b/simulation/microduck_sim/profiles.py index 2a8a4bd..c855d72 100644 --- a/simulation/microduck_sim/profiles.py +++ b/simulation/microduck_sim/profiles.py @@ -30,6 +30,9 @@ class ProfileSpec: hold_s: float = 2.0 # oneshot_zero: seconds the zeroed command window lasts (kicks, roulade). duration_s: float = 0.5 + # oneshot_trigger: binary launch request followed by the zero command + # (custom one-shot policies such as jumps). + trigger_s: float = 0.2 # Values the checks use to decide pass/fail. allow_fall: bool = False expect_tracking: bool = True @@ -84,6 +87,7 @@ def profile_from_descriptor(sim_block: Optional[dict], slot: str) -> ProfileSpec spec.allow_fall = bool(sim_block.get("allow_fall", spec.allow_fall)) spec.expect_tracking = bool(sim_block.get("expect_tracking", spec.expect_tracking)) spec.duration_s = float(sim_block.get("duration_s", spec.duration_s)) + spec.trigger_s = float(sim_block.get("trigger_s", spec.trigger_s)) spec.period_s = float(sim_block.get("period_s", spec.period_s)) spec.end_phase = float(sim_block.get("end_phase", spec.end_phase)) spec.hold_s = float(sim_block.get("hold_s", spec.hold_s)) @@ -157,4 +161,16 @@ def zero_fn(t: float) -> np.ndarray: return wrap(np.zeros(3, dtype=np.float32)) return zero_fn + if spec.kind == "oneshot_trigger": + # Custom one-shot policies documented by their authors as a binary + # launch request in twist-vx, followed by the settling command. + trigger_s = spec.trigger_s + + def trigger_fn(t: float) -> np.ndarray: + cmd = (np.array([1.0, 0.0, 0.0], dtype=np.float32) + if t < trigger_s else np.zeros(3, dtype=np.float32)) + return wrap(cmd) + + return trigger_fn + raise ValueError(f"Unknown simulation profile kind: {spec.kind!r}") diff --git a/simulation/microduck_sim/render.py b/simulation/microduck_sim/render.py index 61c3594..5bd445f 100644 --- a/simulation/microduck_sim/render.py +++ b/simulation/microduck_sim/render.py @@ -24,10 +24,11 @@ LOOP_SIZE = 512 LOOP_FPS = 30 -CAM_DISTANCE = 0.65 +SOURCE_FPS = 25 # 50 Hz control, sampled every other step +CAM_DISTANCE = 0.72 CAM_ELEVATION = -12.0 CAM_AZIMUTH = 100.0 -CAM_SMOOTH = 0.08 # per-control-step lookat lerp factor +CAM_SMOOTH = 0.2 # per-control-step lookat lerp factor class LoopRenderer: @@ -44,8 +45,9 @@ def __init__(self, model: mujoco.MjModel): self._frames: list[np.ndarray] = [] def capture(self, step_index: int, sample) -> None: - # Render every other control step: 50 Hz sim -> 25 fps source, played - # at 30 fps for a slightly sped-up, looping-friendly feel. + # Render every other control step: 50 Hz sim -> 25 fps source. The + # encoder declares that source rate and converts it to the 30 fps + # delivery rate, so the loop keeps the rollout's real duration. if step_index % 2 != 0: return pos = np.asarray(sample.trunk_pos, dtype=float) @@ -68,7 +70,8 @@ def _encode_video(self, out_path: Path) -> None: proc = subprocess.Popen( [ffmpeg, "-y", "-loglevel", "error", "-f", "rawvideo", "-pix_fmt", "rgb24", "-s", f"{w}x{h}", - "-r", str(LOOP_FPS), "-i", "-", + "-framerate", str(SOURCE_FPS), "-i", "-", + "-r", str(LOOP_FPS), "-an", "-c:v", "libx264", "-pix_fmt", "yuv420p", "-crf", "20", "-movflags", "+faststart", str(out_path)], stdin=subprocess.PIPE) diff --git a/tests/schema.test.ts b/tests/schema.test.ts index 612b5b7..8c5cad5 100644 --- a/tests/schema.test.ts +++ b/tests/schema.test.ts @@ -157,11 +157,16 @@ describe("behavior schema", () => { minimal.simulation = { profile: "standing" }; expect(BehaviorSchema.safeParse(minimal).success).toBe(true); + const oneShot = fixture(); + oneShot.simulation = { profile: "oneshot_trigger", trigger_s: 0.2 }; + expect(BehaviorSchema.safeParse(oneShot).success).toBe(true); + for (const sim of [ { profile: "teleport" }, { duration_s: 0.5 }, { duration_s: 60 }, { end_phase: 1.5 }, + { trigger_s: 5.5 }, { segments: [{ duration_s: 0, vx: 0, vy: 0, wz: 0 }] }, { segments: [{ duration_s: 1, vx: 0, vy: 0, wz: 0, boost: 1 }] }, ]) { From 31bef8c097380c2ddb6d930d6caa44e3438bee4b Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Wed, 2 Sep 2026 08:08:01 -0300 Subject: [PATCH 5/5] feat: add deterministic registry simulation renders --- .github/workflows/sim-check.yml | 37 ++- CONTRIBUTING.md | 36 +-- README.md | 10 +- .../media/registry-sim/alpha-walking/loop.mp4 | Bin 0 -> 348595 bytes .../registry-sim/alpha-walking/poster.png | Bin 0 -> 70577 bytes .../registry-sim/alpha-walking/report.json | 79 ++++++ .../registry-sim/ball-kick-left/loop.mp4 | Bin 0 -> 114470 bytes .../registry-sim/ball-kick-left/poster.png | Bin 0 -> 79819 bytes .../registry-sim/ball-kick-left/report.json | 73 ++++++ .../registry-sim/ball-kick-right/loop.mp4 | Bin 0 -> 94183 bytes .../registry-sim/ball-kick-right/poster.png | Bin 0 -> 68926 bytes .../registry-sim/ball-kick-right/report.json | 73 ++++++ .../registry-sim/genesis-backlash/loop.mp4 | Bin 0 -> 367198 bytes .../registry-sim/genesis-backlash/poster.png | Bin 0 -> 72064 bytes .../registry-sim/genesis-backlash/report.json | 79 ++++++ .../registry-sim/genesis-velocity/loop.mp4 | Bin 0 -> 409752 bytes .../registry-sim/genesis-velocity/poster.png | Bin 0 -> 74514 bytes .../registry-sim/genesis-velocity/report.json | 79 ++++++ .../media/registry-sim/ground-pick/loop.mp4 | Bin 0 -> 197277 bytes .../media/registry-sim/ground-pick/poster.png | Bin 0 -> 81973 bytes .../registry-sim/ground-pick/report.json | 73 ++++++ public/media/registry-sim/jump/loop.mp4 | Bin 0 -> 358302 bytes public/media/registry-sim/jump/poster.png | Bin 0 -> 76510 bytes public/media/registry-sim/jump/report.json | 63 +++++ .../registry-sim/max-height-jump/loop.mp4 | Bin 0 -> 194489 bytes .../registry-sim/max-height-jump/poster.png | Bin 0 -> 69337 bytes .../registry-sim/max-height-jump/report.json | 63 +++++ .../media/registry-sim/roller-crouch/loop.mp4 | Bin 0 -> 244902 bytes .../registry-sim/roller-crouch/poster.png | Bin 0 -> 77852 bytes .../registry-sim/roller-crouch/report.json | 74 ++++++ public/media/registry-sim/roulade/loop.mp4 | Bin 0 -> 463824 bytes public/media/registry-sim/roulade/poster.png | Bin 0 -> 72833 bytes public/media/registry-sim/roulade/report.json | 68 +++++ public/media/registry-sim/sit-stand/loop.mp4 | Bin 0 -> 215320 bytes .../media/registry-sim/sit-stand/poster.png | Bin 0 -> 71456 bytes .../media/registry-sim/sit-stand/report.json | 68 +++++ public/registry.json | 246 +++++++++++++++++- registry/behaviors/alpha-walking.json | 34 +++ registry/behaviors/ball-kick-left.json | 13 + registry/behaviors/ball-kick-right.json | 13 + registry/behaviors/courier.json | 5 + registry/behaviors/fall-recovery.json | 5 + registry/behaviors/flamingo-cycle.json | 5 + registry/behaviors/genesis-backlash.json | 34 +++ registry/behaviors/genesis-rough.json | 5 + registry/behaviors/genesis-velocity.json | 34 +++ registry/behaviors/ground-pick.json | 15 ++ registry/behaviors/jump.json | 11 +- registry/behaviors/max-height-jump.json | 11 +- registry/behaviors/roller-crouch.json | 16 ++ registry/behaviors/roller-drive.json | 5 + registry/behaviors/rough-walk-e.json | 5 + registry/behaviors/rough-walk-g.json | 5 + registry/behaviors/roulade.json | 12 + registry/behaviors/running.json | 5 + registry/behaviors/sit-stand.json | 13 + registry/schema/behavior.schema.json | 120 ++++++--- registry/schema/behavior.ts | 99 +++++-- research/ci-sim-viability.md | 24 +- simulation/README.md | 194 ++++++++------ simulation/assets.lock.json | 40 ++- simulation/fetch_assets.py | 30 ++- simulation/microduck_sim/checks.py | 99 ++++--- simulation/microduck_sim/preflight.py | 235 +++++++++++++++++ simulation/microduck_sim/render.py | 8 +- simulation/microduck_sim/robot.py | 152 ++++++++++- .../{profiles.py => scenarios.py} | 113 ++++---- simulation/publish_result.py | 61 +++++ simulation/run_check.py | 156 +++++++---- simulation/tests/test_asset_variants.py | 34 +++ simulation/tests/test_preflight.py | 83 ++++++ simulation/tests/test_runtime_observations.py | 94 +++++++ src/app/behaviors/[id]/page.tsx | 19 +- src/app/globals.css | 62 +++++ src/app/page.tsx | 3 +- src/components/BehaviorCard.tsx | 8 +- src/components/BehaviorCatalog.tsx | 4 +- src/components/RegistrySimulation.tsx | 97 +++++++ src/lib/simulation-results.ts | 70 +++++ src/lib/simulation.ts | 56 ++++ tests/schema.test.ts | 56 ++-- tests/simulation-media.test.ts | 47 ++++ 82 files changed, 2957 insertions(+), 374 deletions(-) create mode 100644 public/media/registry-sim/alpha-walking/loop.mp4 create mode 100644 public/media/registry-sim/alpha-walking/poster.png create mode 100644 public/media/registry-sim/alpha-walking/report.json create mode 100644 public/media/registry-sim/ball-kick-left/loop.mp4 create mode 100644 public/media/registry-sim/ball-kick-left/poster.png create mode 100644 public/media/registry-sim/ball-kick-left/report.json create mode 100644 public/media/registry-sim/ball-kick-right/loop.mp4 create mode 100644 public/media/registry-sim/ball-kick-right/poster.png create mode 100644 public/media/registry-sim/ball-kick-right/report.json create mode 100644 public/media/registry-sim/genesis-backlash/loop.mp4 create mode 100644 public/media/registry-sim/genesis-backlash/poster.png create mode 100644 public/media/registry-sim/genesis-backlash/report.json create mode 100644 public/media/registry-sim/genesis-velocity/loop.mp4 create mode 100644 public/media/registry-sim/genesis-velocity/poster.png create mode 100644 public/media/registry-sim/genesis-velocity/report.json create mode 100644 public/media/registry-sim/ground-pick/loop.mp4 create mode 100644 public/media/registry-sim/ground-pick/poster.png create mode 100644 public/media/registry-sim/ground-pick/report.json create mode 100644 public/media/registry-sim/jump/loop.mp4 create mode 100644 public/media/registry-sim/jump/poster.png create mode 100644 public/media/registry-sim/jump/report.json create mode 100644 public/media/registry-sim/max-height-jump/loop.mp4 create mode 100644 public/media/registry-sim/max-height-jump/poster.png create mode 100644 public/media/registry-sim/max-height-jump/report.json create mode 100644 public/media/registry-sim/roller-crouch/loop.mp4 create mode 100644 public/media/registry-sim/roller-crouch/poster.png create mode 100644 public/media/registry-sim/roller-crouch/report.json create mode 100644 public/media/registry-sim/roulade/loop.mp4 create mode 100644 public/media/registry-sim/roulade/poster.png create mode 100644 public/media/registry-sim/roulade/report.json create mode 100644 public/media/registry-sim/sit-stand/loop.mp4 create mode 100644 public/media/registry-sim/sit-stand/poster.png create mode 100644 public/media/registry-sim/sit-stand/report.json create mode 100644 simulation/microduck_sim/preflight.py rename simulation/microduck_sim/{profiles.py => scenarios.py} (56%) create mode 100644 simulation/publish_result.py create mode 100644 simulation/tests/test_asset_variants.py create mode 100644 simulation/tests/test_preflight.py create mode 100644 simulation/tests/test_runtime_observations.py create mode 100644 src/components/RegistrySimulation.tsx create mode 100644 src/lib/simulation-results.ts create mode 100644 src/lib/simulation.ts create mode 100644 tests/simulation-media.test.ts diff --git a/.github/workflows/sim-check.yml b/.github/workflows/sim-check.yml index d217d84..187d537 100644 --- a/.github/workflows/sim-check.yml +++ b/.github/workflows/sim-check.yml @@ -1,14 +1,15 @@ name: Sim Check -# Spins a headless MuJoCo simulation for each changed behavior descriptor, -# runs the policy under the standard command profile, and renders the -# standardized thumbnail loop. A failing rollout verdict fails the check. +# Produces a diagnostic render for each changed behavior that declares a +# registry-owned recipe. Shared runner changes exercise only a small golden +# set; full-catalog runs remain an explicit manual action. on: pull_request: branches: [main, master] paths: - "registry/behaviors/**" + - "registry/schema/**" - "simulation/**" - ".github/workflows/sim-check.yml" workflow_dispatch: @@ -38,13 +39,27 @@ jobs: fetch-depth: 0 - id: set run: | - if [ -n "${{ github.event.inputs.behavior }}" ]; then - ids="${{ github.event.inputs.behavior }}" + requested="${{ github.event.inputs.behavior }}" + if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ -n "$requested" ]; then + ids=$(jq -cn --arg id "$requested" '[$id]') + elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + ids=$(find registry/behaviors -maxdepth 1 -name '*.json' -printf '%f\n' \ + | sed 's/\.json$//' | sort | jq -R -s -c 'split("\n") | map(select(length > 0))') else - base="${{ github.event.pull_request.base.sha || github.sha }}" - ids=$(git diff --name-only "$base" HEAD -- registry/behaviors \ + base="${{ github.event.pull_request.base.sha }}" + changed=$(git diff --name-only "$base" HEAD) + descriptor_ids=$(printf '%s\n' "$changed" \ | sed -n 's#registry/behaviors/\(.*\)\.json$#\1#p' \ | sort -u | jq -R -s -c 'split("\n") | map(select(length > 0))') + shared=$(printf '%s\n' "$changed" \ + | sed -n '\#^simulation/\|^registry/schema/\|^\.github/workflows/sim-check.yml$#p') + if [ -n "$shared" ]; then + golden='["alpha-walking","jump","max-height-jump","roulade"]' + ids=$(jq -cn --argjson changed "$descriptor_ids" --argjson golden "$golden" \ + '$changed + $golden | unique') + else + ids="$descriptor_ids" + fi fi echo "ids=$ids" >> "$GITHUB_OUTPUT" echo "changed behaviors: $ids" @@ -81,6 +96,9 @@ jobs: path: .simcache key: sim-assets-${{ hashFiles('simulation/assets.lock.json') }} + - name: Test simulation runner + run: PYTHONPATH=simulation python -m unittest discover -s simulation/tests + - name: Run simulation check run: | python simulation/run_check.py \ @@ -98,12 +116,17 @@ jobs: ${{ env.PYOUT }}/${{ matrix.id }}/loop.mp4 ${{ env.PYOUT }}/${{ matrix.id }}/poster.png if-no-files-found: warn + retention-days: 14 - name: Job summary if: always() run: | { echo "## Sim check: ${{ matrix.id }}" + echo "Diagnostic render only — this does not validate hardware behavior or reproduce arbitrary publisher environments." + echo + echo "Download \`sim-${{ matrix.id }}\` from the artifacts on [this workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})." + echo if [ -f "$PYOUT/${{ matrix.id }}/report.json" ]; then echo '```json' cat "$PYOUT/${{ matrix.id }}/report.json" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 741c296..f7cb834 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,22 +47,26 @@ For a local media path such as `/media/my-move/loop.mp4`, include the matching f ### CI simulation check Every pull request that adds or edits a descriptor is automatically run -through a headless MuJoCo simulation (the `Sim Check` workflow): the registry -downloads your canonical ONNX, drives it at the shared 50 Hz runtime contract -under a command profile derived from `compatibility.robotd_slot`, and verifies -the rollout is finite, stable, and (for velocity policies) tracking in the -commanded direction. It also renders a standardized 512x512 `loop.mp4` and -`poster.png`, which are uploaded to the workflow run for review. They are not -published to the catalog automatically. - -- Profile details and the pass criteria: [`simulation/README.md`](simulation/README.md). -- If your behavior intentionally leaves the feet (rolls, jumps), set `"simulation": { "allow_fall": true }`. -- If your policy needs a specific trigger protocol, encode it with the - `simulation.profile` / `simulation.segments` options; the check runs your - protocol, not ours. - -A failing Sim Check means the policy could not be validated in simulation -under the declared contract — expect review questions. +through the registry's headless MuJoCo runner only when it declares an explicit +`simulation` recipe. `compatibility.robotd_slot` never selects the simulation +scenario. The workflow uploads `report.json`, `loop.mp4`, and `poster.png` for +human review; it does not publish them automatically. + +The report distinguishes a completed render from its individual observations. +Requested checks use a fixed registry vocabulary, and their results are +measured by the runner—not authored in the descriptor. A render is not hardware +verification or proof that a publisher's training environment was reproduced. +The runner rejects recipes it cannot represent before downloading the policy; +it does not silently clamp command values. + +If the policy requires custom environment code, objects, meshes, dependencies, +or a different observation/action contract, use `"runner": "external"` with +an honest reason and provide publisher-owned media instead. Do not give CI a +convenient but inaccurate command schedule just so the policy can be rendered. +Do not add per-policy executable code to this repository. + +See [`simulation/README.md`](simulation/README.md) for recipe examples, start +states, supported scenarios, exact report semantics, and CI isolation rules. ## Descriptor shape diff --git a/README.md b/README.md index a0e3d14..bd6b8be 100644 --- a/README.md +++ b/README.md @@ -62,12 +62,12 @@ The table below is generated from the descriptors in `registry/behaviors/`. ## Simulation CI Pull requests touching `registry/behaviors/` are automatically run through a -headless MuJoCo simulation check (`Sim Check` workflow): the contributed ONNX -is executed at the shared 50 Hz runtime contract under a standard command -profile, verified (finite outputs, stability, recovery, tracking), and a -standardized 512x512 render loop is produced as a workflow artifact for review. +headless MuJoCo diagnostic (`Sim Check` workflow) when the descriptor declares +an explicit registry simulation recipe. The runner records exactly what it +observed and produces a standardized 512×512 review artifact; it does not claim +hardware validation or reproduce arbitrary publisher environments. See [`simulation/README.md`](simulation/README.md) for the render standard, -command profiles, and fidelity notes. +scenario model, CI isolation rules, and unsupported cases. ## Machine-readable access diff --git a/public/media/registry-sim/alpha-walking/loop.mp4 b/public/media/registry-sim/alpha-walking/loop.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..d44b5b14df5436c527ca6b14d85a66b7016efa1f GIT binary patch literal 348595 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 Y^T7Lz{NHJ81a{`Og$#{^rW7 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%0AaT@3DckRR+;D@CPR_58XvBdar!(M~F6F~%1d`oS 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�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 literal 0 HcmV?d00001 diff --git a/public/media/registry-sim/alpha-walking/report.json b/public/media/registry-sim/alpha-walking/report.json new file mode 100644 index 0000000..1458f07 --- /dev/null +++ b/public/media/registry-sim/alpha-walking/report.json @@ -0,0 +1,79 @@ +{ + "execution": "rendered", + "checks_status": "passed", + "checks": [ + { + "check": "finite_outputs", + "passed": true, + "detail": "max |action| = 0.7221" + }, + { + "check": "bounded_drift", + "passed": true, + "detail": "displacement 0.469 m" + }, + { + "check": "no_fall", + "passed": true, + "detail": "min trunk height 0.1137 m" + }, + { + "check": "ends_upright", + "passed": true, + "detail": "final tilt 3.92 deg" + }, + { + "check": "velocity_tracking", + "passed": true, + "detail": "steady-state speed >= 30% of command (worst 41%), direction cos >= 0.8 (worst 0.98), mean |v_cmd - v_xy| = 0.189 m/s" + } + ], + "observations": { + "duration_s": 6.0, + "control_steps": 300, + "obs_dim": 61, + "command_dim": 13, + "min_trunk_height_m": 0.1137, + "max_trunk_height_m": 0.122, + "final_trunk_height_m": 0.1214, + "max_tilt_deg": 4.53, + "final_tilt_deg": 3.92, + "path_length_m": 0.721, + "displacement_m": 0.469, + "max_abs_action": 0.7221, + "all_finite": true, + "initial_foot_contact": true, + "initial_bilateral_contact": true, + "airborne_observed": false, + "takeoff_after_support": false, + "touchdown_after_takeoff": false, + "mean_tracking_error_mps": 0.1892 + }, + "behavior": "alpha-walking", + "recipe": { + "runner": "microduck-standard-v1", + "scene": "flat-v1", + "start": { + "preset": "settled_standing" + }, + "scenario": "velocity" + }, + "duration_s": 6.0, + "policy": { + "url": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator/resolve/main/app/public/policies/BEST_alpha_walking.onnx", + "sha256": "e36332d383997d51401897734cd3e79cf5038406feddb18b4d57ecfb141daa6c", + "baked_normalizer": true + }, + "media": { + "loop_url": "/media/registry-sim/alpha-walking/loop.mp4", + "poster_url": "/media/registry-sim/alpha-walking/poster.png" + }, + "generated_at": "2026-09-02T04:49:04.155415+00:00", + "runtime": { + "mjcf": "robot_allcollisions.xml (pollen-robotics/microduck-simulator, pinned)", + "timestep_s": 0.005, + "decimation": 4, + "control_hz": 50, + "renderer": "mujoco EGL offscreen" + } +} diff --git a/public/media/registry-sim/ball-kick-left/loop.mp4 b/public/media/registry-sim/ball-kick-left/loop.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..7fae93864ad6ee4443070a7945472b3a3da942f9 GIT binary patch literal 114470 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