Skip to content

feat(drake): scope Go2 owner into tensor runtime - #2067

Merged
TATP-233 merged 1 commit into
develop/tensor-runtimefrom
feat/drake-torchenv-backend
Oct 8, 2026
Merged

TATP-233 merged 1 commit into
develop/tensor-runtimefrom
feat/drake-torchenv-backend

Conversation

@TATP-233

@TATP-233 TATP-233 commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Reintroduces Drake into the torch Manager runtime through one narrow owner: PPO go2_joystick_flat.
  • Registers the generic make_manager_based_rl_env factory for Go2/Drake and adds a Hydra Drake owner; Drake remains explicit-select and is not added to the implicit/default backend order.
  • Routes --sim drake through the existing public UniSim Drake adapter and gates it on a local drake_uni install plus public ensure_drake_batch_available().
  • Explicitly disables the unsupported or semantically unequal Go2 terms:
  • Restores the local make setup-drake path, updates bilingual backend/install docs, and regenerates the support matrix.
  • User-facing/training impact is limited to the scoped Drake Go2 PPO owner; existing active backend owners and default routing are unchanged. No PyPI publication or release metadata changes are included.

Linked Work

Validation

  • make test-all passed on the final local head before this PR was created or updated
  • Additional task-specific validation listed below

make check:

UNILAB_LOCAL_UNISIM=... uv run ruff format
UNILAB_LOCAL_UNISIM=... uv run ruff check --fix
UNILAB_LOCAL_UNISIM=... uv run ruff check tests --select F401,F821,F811,F841 --output-format concise
UNILAB_LOCAL_UNISIM=... uv run mypy src/unilab
UNILAB_LOCAL_UNISIM=... uv run pyright

All passed.

Focused tests:

uv run --no-sync pytest tests/test_cli_runtime_requirements.py tests/base/test_registry.py tests/scripts/test_ci_scope.py -q
uv run -m slow --no-sync pytest tests/scripts/test_support_matrix.py -q
uv run --no-sync pytest tests/envs/locomotion/go2/test_manager_based_cfg.py tests/envs/test_stewart.py -q
UNILAB_LOCAL_UNISIM=... uv run --no-sync pytest tests/base/test_backend_imports.py tests/tasks/test_go2_tensor_runtime.py -q

All passed.

Full non-slow suite:

UNILAB_LOCAL_UNISIM=... uv run --no-sync pytest -m "not slow" -q

Result: 1831 passed, 44 skipped.

Coverage-equivalent full gate:

UNILAB_LOCAL_UNISIM=... uv run --no-sync pytest -m "not slow" --cov=src/unilab --cov-report=term-missing -q

All non-slow tests passed with coverage enabled.

Benchmark import smoke:

UNILAB_LOCAL_UNISIM=... uv run --no-sync python scripts/benchmark/smoke_test.py

Result: module-mode 35/35, script-mode 36/36.

Generated support matrix:

uv run scripts/generate_support_matrix.py --write

Docs checks:

uv run --no-sync pytest tests/scripts/test_check_docs.py -q

Real local DrakeUni runtime validation:

PYTHONPATH=.../drake_uni/src \
DRAKE_HOME=... \
UNILAB_DRAKE_HOME=... \
LD_LIBRARY_PATH=... \
UNILAB_LOCAL_UNISIM=... \
uv run --no-sync pytest -m slow tests/scripts/test_drake_training_smoke.py -q

Result: 1 passed; output contains Learning iteration 0/1.

Also exercised a real Manager reset/step path with local DrakeUni: observation widths stayed {obs: 49, critic: 52}, action width stayed 12, and observations/rewards remained finite.

Slow support-matrix suite:

UNILAB_LOCAL_UNISIM=... uv run --no-sync pytest -m slow tests/scripts/test_support_matrix.py -q

Result: 17 passed.

Remote CI route:

  • Base is not main: not scheduled; local make test-all is the test gate.

Impact

  • Backend impact: Drake only; no MuJoCo/Motrix behavior change.
  • Platform impact: Drake local runtime path affects Linux x86_64 and Apple Silicon macOS users; other code paths are platform-neutral.
  • Training effect expected: yes, only for the newly selectable Drake Go2 PPO owner. Existing owners and default backend routing are unchanged.

Artifacts

  • W&B: none
  • benchmark result: none (no expensive benchmark run required by this scoped owner)
  • video / screenshot: none
  • ONNX / checkpoint: none

Checklist

  • Added or updated tests where needed
  • Updated docs if behavior or workflow changed
  • Linked the driving issue
  • Noted any follow-up work explicitly

Follow-ups:

@TATP-233
TATP-233 merged commit ef62660 into develop/tensor-runtime Oct 8, 2026
2 checks passed
@TATP-233
TATP-233 deleted the feat/drake-torchenv-backend branch October 8, 2026 05:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant