-
Notifications
You must be signed in to change notification settings - Fork 278
Open
Description
Motivation
I'd like to propose adding interactive recording and replay functionality for mjlab. This would enable:
- Sharing RL experiment results - Researchers can easily share trained policy behaviors with others
- Debugging without re-running - Replay expensive simulations without recomputing
- Creating demonstrations - Generate interactive visualizations for papers, presentations, and documentation
- Collaboration - Share exact simulation runs with team members
Implementation
I've implemented this feature in the record branch on my fork:
- Branch: https://github.com/ttktjmt/mjlab/tree/record
- Comparison for PR: main...ttktjmt:mjlab:record
Changes
New record module:
src/mjlab/scripts/record.py: Initializes the viser recording server and handles the MuJoCo simulation looppyproject.toml: Registers the newuv run recordCLI command entry point
GitHub Actions Workflow:
.github/workflows/deploy-recordings.yml: Automatically deploys recorded.viserfiles from therecordings/directory to GitHub Pages
Example Recordings:
recordings/*.viser: Initial example recordings demonstrating functionality for registered environments
Usage Example
uv run record Mjlab-Velocity-Rough-Unitree-Go1 \
--wandb-run-path your-entity/mjlab/run-id \
--num-envs 12 \
--num-steps 1000Demo
Live example: https://ttktjmt.github.io/mjlab/rec/
Questions for Maintainers
Before I create a PR, I'd like to check if this feature is valuable for mjlab or not. If you are willing to include this, I'd love to create a PR!
I'm also happy to make any adjustments based on your feedback before submitting a PR.
Thanks for reviewing and considering this!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels