mjswan playground
A collection of tasks built with mjswan.
Tasks
| Task ID | Robot | Description | Preview & Link |
|---|---|---|---|
husky |
Unitree G1 | Skateboarding under whole-body control (HUSKY, RSS 2026) | mjswan.com/s/oM-paPA |
wbc |
Unitree G1 | One wbc-mjlab tracking policy over various motions | mjswan.com/s/XWwo7dV |
pacman |
Unitree G1 | Dodging thrown balls from a head depth camera (PAC-MAN, 2026) | mjswan.com/s/GOTofiq |
microduck |
Microduck | Every policy the robot ships: walk, stand, sit, ground pick, ball kick, roulade, roller skate (Microduck) | mjswan.com/s/DOGILsh |
musclemimic |
MyoFullBody | A 354-muscle body tracking a walking clip with the public 2.05e9-step checkpoint (MuscleMimic, 2026) | mjswan.com/s/gOrSan8 |
spinkick |
Unitree G1 | A double spin kick motion tracking (g1_spinkick_example) | mjswan.com/s/-wXxa8L |
bipedhrl |
Unitree H1-2 | Walking to velocity commands with the checkpoint run on the real robot (biped_hrl) | mjswan.com/s/AacPm-T |
upkie |
Upkie | A wheeled biped balancing and driving to velocity commands (mjlab_upkie) | mjswan.com/s/BIPHv2M |
duet |
Unitree G1 | Walking and squatting down to a 0.18 m crouch while its arms move on their own (DUET) | mjswan.com/s/whAfOf- |
jumper |
Jumper | A crab robot walking with a commanded body posture, walking on five legs, dancing, gesturing and jumping (Jumper) | mjswan.com/s/7wT9SwQ |
microduckpg |
Microduck | Every experiment of a community playground: running, swing, basketball, stilts, desk and chimney climbs, long jump, backflip (microduck-playground) | Moves: mjswan.com/s/_klQQmL Parkour: mjswan.com/s/mqwst_Y Stilts: mjswan.com/s/qK0Uwr7 |
unitreerl |
Unitree G1 | A G1 walking to velocity commands and dancing a LAFAN1 clip (unitree_rl_mjlab) | mjswan.com/s/opR2oo7 |
terra |
MyoFullBody | A 354-muscle body walking myosuite's terrain course, stairs, a beam and two jumps, and a flat route, with the TERRA-4B checkpoint (TERRA, on myosuite) | mjswan.com/s/azSCj6u |
wuji |
Wuji Hand 1, Wuji Hand 2 | A dexterous hand turning a cube in its palm to random goal orientations, and spinning a pen along clips recorded on the real hand (wuji-mjlab) | Reorient: mjswan.com/s/XbIngWj Penspin: mjswan.com/s/JiGR41o |
asimov |
Asimov 1 | Walking (asimov1-locomotion-0818), and falling safely and getting up (asimov-v1-policies) | mjswan.com/s/fePFavL |
booster |
Booster K1 | Walking to velocity commands, dancing and fighting with Booster Robotics' own policies (booster_deploy) | WIP |
CLI
Run a task in the browser without installing anything:
uvx mjswan-playground run jumper
In a clone, uv run msp <subcommand>. wbc takes its extra as uvx --from 'mjswan-playground[wbc]' msp run wbc; spinkick, musclemimic and terra pull code PyPI does not carry, so run them from a clone.
| Subcommand | Description | Options |
|---|---|---|
list |
List the task IDs, then the parts | none |
run <task-id> |
Build a task and open it in the browser | --host (localhost), --port (8080), --no-open, --output-dir |
build <task-id> |
Build a task without launching | --output-dir |
site [<task-id>...] |
Build every task on the GitHub Pages site into one app | --no-build, --base-path (/), --dist-dir (dist), --output-dir (dist/_site) |
Python
mjswan_playground can be imported as a Python package, and each task's builder can be used to build and launch the demo:
import mjswan_playground
builder = mjswan_playground.load("husky")
builder.build(output_dir="dist").launch()
Each task also lives at mjswan_playground.<task_module>.main (the task ID with underscores, e.g. mjswan_playground.husky.main), exposing setup_builder().
License
This project is licensed under the Apache-2.0 License. The upstream assets each task fetches carry their own licenses. Please see each task's README and follow the respective license terms.
Metadata
Release files for mjswan-playground 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mjswan_playground-0.1.0.tar.gz | 173.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mjswan_playground-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 406.7 kB
Release files / mjswan_playground-0.1.0.tar.gz
| Download URL | mjswan_playground-0.1.0.tar.gz |
|---|---|
| Size | 173.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e6f907263e40d20410077f028b073d9d8bdbef46a9315833baf161f77a39663
|
|
BLAKE2b-256 checksum How to use checksums |
a18a8a6d5a31a534f546f4f3507d302db325970e629b035e19bb5e4bd3d2693f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mjswan_playground-0.1.0-py3-none-any.whl
| Download URL | mjswan_playground-0.1.0-py3-none-any.whl |
|---|---|
| Size | 233.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
642642aa973a909ef11faf12b95be360c8d121184510d9932da614379858788f
|
|
BLAKE2b-256 checksum How to use checksums |
2fd02b587054aae18b85b8cf40694ae061c5fd336567bfbaff4965edf4b56827
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|