Skip to content

omarrayyann/mjlab_manipulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mjlab manipulation

A growing collection of manipulation tasks built with mjlab.

Tasks

Reach-{Robot}
Move gripper to target.
Lift-{Robot}
Lift a cube (state-based).
Lift-{Robot}-RGB
Lift a cube (vision-based).
Lift-Any-{Robot}-RGB
Lift 12 objaverse objects (vision-based).

{Robot} is one of Droid, xArm, Kuka, Gen3, or UR5e (add your own).

Getting Started

git clone https://github.com/<user>/mjlab_manipulation.git && cd mjlab_manipulation
uv sync

Train a task:

uv run train <task-id> --num_envs 4096

Play back a trained policy:

uv run play <task-id> --wandb-path-checkpoint <wandb-path>

Adding a robot

  1. Add a bare-arm MJCF under robots/<name>/xmls/ (no gripper, they get attached at task time).
  2. Write robots/<name>/<name>_constants.py returning a RobotCfg with the home pose and tool-attach offset.
  3. Add it to the _ROBOTS dict in each task's __init__.py.

Acknowledgements

About

A growing collection of manipulation tasks built with mjlab.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages