Skip to content
Closed
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
e611683
[mujoco] Add MyoSuite intake and validation scaffolding
Trinkle23897 Apr 15, 2026
9740b17
[mujoco] Fix MyoSuite lint docstrings
Trinkle23897 Apr 15, 2026
590ab1a
[mujoco] Format MyoSuite metadata helpers
Trinkle23897 Apr 15, 2026
a54c27a
[mujoco] Fix MyoSuite clang-format
Trinkle23897 Apr 15, 2026
b5ede49
[mujoco] Add MyoSuite license headers
Trinkle23897 Apr 15, 2026
9ebb331
[mujoco] Normalize MyoSuite BUILD formatting
Trinkle23897 Apr 15, 2026
cdf66ff
[mujoco] Expand MyoSuite metadata coverage
Trinkle23897 Apr 15, 2026
4775e56
[mujoco] Add native MyoSuite MyoBase slice
Trinkle23897 Apr 15, 2026
be23c8e
Fix MyoSuite lint regressions
Trinkle23897 Apr 15, 2026
5303fc1
[mujoco] Fix MyoSuite CI regressions
Trinkle23897 Apr 15, 2026
26bc3b2
[mujoco] Extend native MyoSuite MyoBase coverage
Trinkle23897 Apr 15, 2026
f850e59
[mujoco] Add remaining MyoSuite challenge and track envs
Trinkle23897 Apr 15, 2026
26e39b9
[mujoco] Format MyoSuite Python files
Trinkle23897 Apr 15, 2026
6acba8e
feat(mujoco): finish full myosuite surface registration
Trinkle23897 Apr 15, 2026
e537f9c
[mujoco] finish MyoSuite oracle and render coverage
Trinkle23897 Apr 16, 2026
47302a8
[mujoco] fix MyoSuite lint and clang-tidy
Trinkle23897 Apr 16, 2026
51a7897
[mujoco] fix MyoSuite cpplint
Trinkle23897 Apr 16, 2026
eb63312
[mujoco] format MyoSuite native sources
Trinkle23897 Apr 16, 2026
94de824
[mujoco] finalize MyoSuite packaging and render fixes
Trinkle23897 Apr 17, 2026
3988273
[mujoco] format MyoSuite Python updates
Trinkle23897 Apr 17, 2026
f48c188
[mujoco] fix MyoSuite cpplint regressions
Trinkle23897 Apr 17, 2026
043a859
[mujoco] format MyoSuite native headers
Trinkle23897 Apr 17, 2026
942b05c
[mujoco] add MyoSuite asset license headers
Trinkle23897 Apr 17, 2026
aa28f1b
[mujoco] fix MyoSuite mypy coverage
Trinkle23897 Apr 17, 2026
c512a47
[mujoco] fix MyoSuite clang-tidy warnings
Trinkle23897 Apr 17, 2026
2eced84
[mujoco] fix MyoSuite clang-tidy findings
Trinkle23897 Apr 17, 2026
5aa443f
Fix MyoSuite render coverage and CI drift
Trinkle23897 Apr 27, 2026
01a4bc0
Validate MyoSuite metadata constants
Trinkle23897 Apr 27, 2026
1f1a3c1
Reduce MyoSuite render test runfiles
Trinkle23897 Apr 27, 2026
1a6b52e
Fix MyoSuite registration import style
Trinkle23897 Apr 27, 2026
63bfddb
Format MyoSuite render sharding test
Trinkle23897 Apr 27, 2026
e901c13
Fix VizDoom genrules on Windows
Trinkle23897 Apr 27, 2026
8fc132c
Fix VizDoom Windows genrule quoting
Trinkle23897 Apr 27, 2026
13ad577
Make MyoSuite registration entry explicit
Trinkle23897 Apr 27, 2026
e945012
Limit Linux release Bazel resource usage
Trinkle23897 Apr 27, 2026
fffc03d
Fix VizDoom re2c Windows codegen
Trinkle23897 Apr 27, 2026
e4a488a
Remove MyoSuite registration guard state
Trinkle23897 Apr 27, 2026
ce515a9
Stabilize MyoSuite render surface checks
Trinkle23897 Apr 27, 2026
a9a26e3
Load packaged MyoSuite metadata in wheels
Trinkle23897 Apr 27, 2026
90a9c30
Format MyoSuite metadata fallback
Trinkle23897 Apr 27, 2026
ded7e33
Move MyoSuite heavy tests out of coverage
Trinkle23897 Apr 27, 2026
2709a8e
Clean patch whitespace for diff checks
Trinkle23897 Apr 27, 2026
2fa70bc
Normalize VizDoom patch blank context
Trinkle23897 Apr 27, 2026
8b1ee0b
Initialize Windows GL context for pixel observations
Trinkle23897 Apr 27, 2026
24095d8
Fix EnvPool pixel context protocol typing
Trinkle23897 Apr 27, 2026
7f2b759
Limit Linux release wheel build parallelism
Trinkle23897 Apr 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
- [x] [Minigrid](https://envpool.readthedocs.io/en/latest/env/minigrid.html)
- [x] [Highway](https://envpool.readthedocs.io/en/latest/env/highway.html)
- [x] [MetaWorld](https://envpool.readthedocs.io/en/latest/env/metaworld.html)
- [x] [MyoSuite](https://envpool.readthedocs.io/en/latest/env/myosuite.html)

Here are EnvPool's several highlights:

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 84 additions & 0 deletions docs/env/myosuite.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
MyoSuite
========

EnvPool provides native C++ implementations for the MyoSuite benchmark pinned
to ``MyoHub/myosuite`` commit ``05cb84678373f91271004f99602ebbf01e57d1a1``
(``v2.11.6``). The public EnvPool IDs follow the official upstream registry
directly instead of introducing a parallel naming scheme.

Supported Surface
-----------------

The native port covers the full generated MyoSuite metadata surface:

* 45 direct MyoBase task IDs
* 19 direct MyoChallenge task IDs
* 190 direct MyoDM TrackEnv task IDs
* 398 public task IDs after expanding the official fatigue, sarcopenia, and
reafferentation variants

Representative public IDs include:

.. code-block:: text

myoHandReorientID-v0
myoFatiHandReorientID-v0
myoLegRoughTerrainWalk-v0
myoChallengeBimanual-v0
myoSarcChallengeBimanual-v0
MyoHandAirplaneFly-v0

The public registration keeps the official MyoSuite task IDs unchanged, so
existing downstream experiment configs can move to EnvPool without renaming the
tasks.

Observation and Action Spaces
-----------------------------

MyoSuite is a heterogeneous benchmark, so observation and action shapes vary by
task family:

* MyoBase exposes hand, arm, torso, and locomotion tasks such as pose, reach,
reorient, key turn, object hold, pen twirl, walk, and terrain locomotion.
* MyoChallenge exposes the official challenge tasks including reorient,
relocate, baoding, bimanual passing, run-track locomotion, soccer, chase-tag,
and table tennis.
* MyoDM exposes object-conditioned ``TrackEnv`` tasks such as
``MyoHandAirplaneFly-v0`` through the same native registration path.

All tasks support the standard EnvPool batched Gymnasium and dm_env wrappers,
and MuJoCo pixel wrappers are available through ``from_pixels=True``.

Render
------

MyoSuite render support ships through the same native MuJoCo pixel path used by
other EnvPool MuJoCo families. The public render validation now sweeps every
registered MyoSuite task ID, including the fatigue, sarcopenia, and
reafferentation variants, and checks the reset frame plus the first three
stepped rollout frames against the pinned official renderer bitwise. The
comparison image below keeps a representative slice from MyoBase reorient,
walk, terrain, MyoChallenge, and MyoDM TrackEnv tasks so the doc stays
readable. Each panel shows EnvPool on the left and the official MyoSuite
renderer on the right.

.. image:: ../_static/render_samples/myosuite_official_compare.png
:alt: EnvPool and official MyoSuite render compares for representative MyoSuite tasks
:width: 100%

Validation
----------

The MyoSuite integration is validated in four layers:

* generated metadata checks for the full upstream registry surface
* deterministic rollout tests for the native implementations
* 32-step oracle alignment against the official MyoSuite Python
implementation for the direct MyoBase, MyoChallenge, and MyoDM task surface
* public ``render()`` validation that checks the reset frame and the first
three stepped frames bitwise against the official MyoSuite renderer for every
registered public task ID, while the doc image above shows a representative
slice of that full sweep
* public registration tests that construct direct and variant IDs through
``make_gymnasium`` and verify that fatigue, sarcopenia, and reafferentation
variants actually change rollout dynamics
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ stable version through `envpool.readthedocs.io/en/stable/
env/minigrid
env/gymnasium_robotics
env/metaworld
env/myosuite
env/mujoco_gym
env/procgen
env/toy_text
Expand Down
Loading
Loading