主题
快速开始
本项目实现了 L2(数据生成层)的三种轨迹来源,产出统一的 HDF5 格式,供 L3 转换为 LeRobot v2 dataset。
三种来源对比
| 维度 | Scripted | RL | Teleop |
|---|---|---|---|
| 原理 | 状态机 / motion planner | PPO 训练后 rollout | 人类键盘控制 |
| 数据量 | 10⁵+ 条/天 | 10³–10⁴ 条 | 10²–10³ 条 |
| 质量 | 单调但稳定 | 包含 recovery / 长尾 | 最高(人类意图) |
| 速度 | 最快(GPU 并行) | 中等(需先训练) | 最慢(人手操作) |
| 用途 | 底座技能覆盖 | 失败恢复轨迹 | 高质量示教 |
| 成本 | 低(写一次 SM) | 中(训练 10-20 分钟) | 高(人工录制) |
混合训练策略:scripted 提供量,RL 提供 recovery,teleop 提供质量。GR00T 训练时对 teleop 数据上采样。
快速开始
1. Scripted(推荐先跑)
bash
# 采集 10 个 demo(~30 秒)
uv run sim2lerobot scripted collect --num_demos 10 --num_envs 4
# 可选:录制视频(每 5 个 episode 录一个)
uv run sim2lerobot scripted collect --num_demos 50 --num_envs 4 --video --video_interval 5
# 检查 schema
uv run h5_inspect data/lift_cube/scripted/{run_id}/episodes.hdf5产物:
data/lift_cube/scripted/{run_id}/episodes.hdf5data/lift_cube/scripted/{run_id}/videos/episode-*.mp4(可选)data/lift_cube/scripted/{run_id}/{run.log,meta.json}(运行日志 + 元信息)
2. RL
bash
# 训练 PPO(~10-20 分钟,A100)
uv run sim2lerobot rl train
# Rollout 录制(用训练好的 checkpoint)
uv run sim2lerobot rl rollout \
--checkpoint data/lift_cube/rl/latest.pt \
--num_demos 100 \
--num_envs 32
# 可选:录制视频
uv run sim2lerobot rl rollout \
--checkpoint data/lift_cube/rl/latest.pt \
--num_demos 100 \
--num_envs 32 \
--video --video_interval 10产物:
data/lift_cube/rl/{run_id}/model_*.ptdata/lift_cube/rl/latest.pt(symlink,指向最近一次 train run 的最终 checkpoint)data/lift_cube/rl/{run_id}/episodes.hdf5data/lift_cube/rl/{run_id}/videos/episode-*.mp4(可选)
3. Teleop
bash
# 录制 5 个 demo(需要 GUI,人工操作)
uv run sim2lerobot teleop record --num_demos 5
# 可选:录制视频
uv run sim2lerobot teleop record --num_demos 5 --video按键(Se3Keyboard):
- 平移:W/S (±X)、A/D (±Y)、Q/E (±Z)
- 转动:Z/X (roll)、T/G (pitch)、C/V (yaw)
- 夹爪:K(切换开/合)
- 重置:R(丢弃当前 episode)
产物:
data/lift_cube/teleop/{run_id}/episodes.hdf5data/lift_cube/teleop/{run_id}/videos/episode-*.mp4(可选)
合并到 LeRobot v2
三个来源的 HDF5 schema 完全一致,可以直接合并:
bash
uv run convert_lerobot data data/lerobot/lift_cube_v0_mixed/视频录制说明
所有三个来源都支持 --video 参数:
- 用途:质量检查、演示展示
- 性能开销:~10-20% 运行时间
- 磁盘占用:每个 episode 约 1-5 MB
- 采样策略:用
--video_interval N每 N 个 episode 录一个(减少磁盘占用)
详见 视频录制功能。
下一步
- 详细指南:Scripted | RL | Teleop
- Schema 说明:HDF5 Schema | Obs/Action 对齐
- 数据检查:数据检查与可视化