🦾 这是一个基于 LeRobot 和 MuJoCo 的抓取放置任务复现仓库,包含数据采集、数据回放、ACT 训练与部署,以及 pi_0 和 SmolVLA 的训练/推理示例。
“基于开源项目 https://github.com/jeongeun980906/lerobot-mujoco-tutorial 的复现”
测试环境:Python 3.10,MuJoCo 3.1.6。
建议直接安装依赖,不要用 pip install lerobot 单独安装官方包,否则容易和当前仓库中的代码版本不一致。
pip install -r requirements.txt
解压示例资产:
cd asset/objaverse
unzip plate_11.zip
运行 1.collect_data.ipynb。任务是把 mug 放到 plate 上。

控制方式:
数据中包含多视角图像与状态、动作信息,示例格式如下:
fps = 20
features = {
"observation.image": {
"dtype": "image",
"shape": (256, 256, 3),
"names": ["height", "width", "channels"],
},
"observation.wrist_image": {
"dtype": "image",
"shape": (256, 256, 3),
"names": ["height", "width", "channels"],
},
"observation.state": {
"dtype": "float32",
"shape": (6,),
"names": ["state"],
},
"action": {
"dtype": "float32",
"shape": (7,),
"names": ["action"],
},
"obj_init": {
"dtype": "float32",
"shape": (6,),
"names": ["obj_init"],
},
}
采集后的数据会保存到 ./demo_data,目录结构类似:
.
├── data
│ └── chunk-000
│ ├── episode_000000.parquet
│ └── ...
└── meta
├── episodes.jsonl
├── info.json
├── stats.json
└── tasks.jsonl
仓库中还提供了 示例数据 便于直接跑通流程。

这个步骤会在重建的仿真场景里回放动作,并显示数据集中对应的叠加图像。
运行 3.train.ipynb。通常需要约 30 到 60 分钟,具体取决于数据量和显卡性能。
训练完成后,checkpoint 会保存在 ./ckpt/act_y。

如果你遇到如下报错:
PicklingError: Can't pickle <function <lambda> at ...>: attribute lookup <lambda> on __main__ failed
把 DataLoader 的 num_workers 改成 0 即可。
运行 4.deploy.ipynb。如果你不打算本地训练,也可以直接下载已有 checkpoint 进行部署。


训练命令:
python train_model.py --config_path pi0_omy.yaml
训练日志与 rollout 示例:

训练命令:
python train_model.py --config_path smolvla_omy.yaml
训练日志与 rollout 示例:

如果你在没有网络的环境里运行 pi_0 或 SmolVLA,请确保相关模型文件已经放在本地,并在对应 notebook 里使用本地路径加载。这样可以避免默认从 Hugging Face Hub 拉取模型或 tokenizer。
本仓库为个人复现与学习项目,不代表原始项目官方仓库。
1 commits
Python
63.7%
Jupyter Notebook
31.9%
MDX
3.0%
HTML
1.1%
🦾 这是一个基于 LeRobot 和 MuJoCo 的抓取放置任务复现仓库,包含数据采集、数据回放、ACT 训练与部署,以及 pi_0 和 SmolVLA 的训练/推理示例。
“基于开源项目 https://github.com/jeongeun980906/lerobot-mujoco-tutorial 的复现”
测试环境:Python 3.10,MuJoCo 3.1.6。
建议直接安装依赖,不要用 pip install lerobot 单独安装官方包,否则容易和当前仓库中的代码版本不一致。
pip install -r requirements.txt
解压示例资产:
cd asset/objaverse
unzip plate_11.zip
运行 1.collect_data.ipynb。任务是把 mug 放到 plate 上。

控制方式:
数据中包含多视角图像与状态、动作信息,示例格式如下:
fps = 20
features = {
"observation.image": {
"dtype": "image",
"shape": (256, 256, 3),
"names": ["height", "width", "channels"],
},
"observation.wrist_image": {
"dtype": "image",
"shape": (256, 256, 3),
"names": ["height", "width", "channels"],
},
"observation.state": {
"dtype": "float32",
"shape": (6,),
"names": ["state"],
},
"action": {
"dtype": "float32",
"shape": (7,),
"names": ["action"],
},
"obj_init": {
"dtype": "float32",
"shape": (6,),
"names": ["obj_init"],
},
}
采集后的数据会保存到 ./demo_data,目录结构类似:
.
├── data
│ └── chunk-000
│ ├── episode_000000.parquet
│ └── ...
└── meta
├── episodes.jsonl
├── info.json
├── stats.json
└── tasks.jsonl
仓库中还提供了 示例数据 便于直接跑通流程。

这个步骤会在重建的仿真场景里回放动作,并显示数据集中对应的叠加图像。
运行 3.train.ipynb。通常需要约 30 到 60 分钟,具体取决于数据量和显卡性能。
训练完成后,checkpoint 会保存在 ./ckpt/act_y。

如果你遇到如下报错:
PicklingError: Can't pickle <function <lambda> at ...>: attribute lookup <lambda> on __main__ failed
把 DataLoader 的 num_workers 改成 0 即可。
运行 4.deploy.ipynb。如果你不打算本地训练,也可以直接下载已有 checkpoint 进行部署。


训练命令:
python train_model.py --config_path pi0_omy.yaml
训练日志与 rollout 示例:

训练命令:
python train_model.py --config_path smolvla_omy.yaml
训练日志与 rollout 示例:

如果你在没有网络的环境里运行 pi_0 或 SmolVLA,请确保相关模型文件已经放在本地,并在对应 notebook 里使用本地路径加载。这样可以避免默认从 Hugging Face Hub 拉取模型或 tokenizer。
本仓库为个人复现与学习项目,不代表原始项目官方仓库。
1 commits
Python
63.7%
Jupyter Notebook
31.9%
MDX
3.0%
HTML
1.1%