psi0-apple-to-plate-teleop
收藏Psi0 Apple-to-Plate VR 遥操作数据集概述
数据集基本信息
- 名称: Psi0 Apple-to-Plate VR Teleoperation Dataset
- 许可证: Apache-2.0
- 任务类别: 机器人学
- 标签: LeRobot, VLA, humanoid, teleoperation, loco-manipulation, isaac-lab, unitree-g1, psi0
- 数据格式: LeRobot v2.1
- 磁盘大小: ~390 MB
数据集摘要
| 属性 | 值 |
|---|---|
| 机器人 | Unitree G1 29自由度(灵巧手 + 全身运动) |
| 任务 | 拿起苹果,向左走并将苹果放在盘子上 |
| 情节数 | 79(从81个中筛选;移除了ep49=22帧 < chunk_size, ep80=元数据伪影) |
| 总帧数 | 86,855 |
| 平均情节长度 | 1,099帧(36.6秒) |
| 情节时长范围 | 19.4秒 – 73.5秒 |
| 帧率 | 30 Hz |
| 总时长 | ~48.3分钟 |
| 模拟器 | NVIDIA Isaac Lab(Isaac Sim 4.5 + PhysX 5) |
| 场景 | apple_to_plate(从RoboCasa/MuJoCo移植,RTX渲染) |
| 采集方法 | VR遥操作(Pico 4 Ultra头显 + WebXR控制器) |
| 运动控制 | AMO策略(System-0,基于强化学习,50 Hz控制频率) |
任务描述
操作员佩戴Pico 4 Ultra VR头显,通过WebXR控制器在Isaac Lab中控制G1机器人。任务是一个多阶段的运动-操作序列:
- 向前走 向桌子上的苹果。
- 伸手并抓取 用右手抓住苹果。
- 向左走 向盘子移动。
- 放置 将苹果放在盘子上。 运动(前向/横向速度,偏航率)通过左摇杆命令并由AMO运动策略执行。上半身控制(手臂、手、躯干)通过解析逆运动学从VR控制器姿态映射。机器人以自我为中心的摄像头的WebRTC H.264视频反馈以30 FPS流式传输回VR头显。
数据格式
特征
| 特征 | 类型 | 形状 | 描述 |
|---|---|---|---|
observation.images.egocentric |
视频(H.264) | (480, 640, 3) | RGB以自我为中心的摄像头(D435i安装座,47.6°俯仰向下) |
states |
float32 | (28,) | 关节位置:手(14) + 手臂(14) |
action |
float32 | (36,) | 动作目标:手(14) + 手臂(14) + 躯干(3) + 高度(1) + 运动(4) |
timestamp |
float32 | (1,) | 情节内的时间(秒) |
frame_index |
int64 | (1,) | 情节内的帧索引 |
episode_index |
int64 | (1,) | 情节索引 |
index |
int64 | (1,) | 全局帧索引 |
task_index |
int64 | (1,) | 任务索引(所有帧均为0) |
next.done |
bool | (1,) | 在情节最后一帧为True |
obs_timestamp |
float32 | (1,) | 观测时间戳 |
action_timestamp |
float32 | (1,) | 动作时间戳 |
动作空间(36维)
索引 名称 描述 ───── ──── ─────────── [0:7] 左手 thumb_0/1/2, index_0/1, middle_0/1 [7:14] 右手 thumb_0/1/2, index_0/1, middle_0/1 [14:21] 左臂 shoulder_pitch/roll/yaw, elbow, wrist_roll/pitch/yaw [21:28] 右臂 shoulder_pitch/roll/yaw, elbow, wrist_roll/pitch/yaw [28:31] 躯干 roll, pitch, yaw [31] 基础高度 目标站立高度(米) [32:35] 运动 vx(前向), vy(横向), vyaw(偏航率) [35] 目标偏航 航向角(弧度)
状态空间(28维)
索引 名称 描述 ───── ──── ─────────── [0:7] 左手 关节位置(弧度) [7:14] 右手 关节位置(弧度) [14:21] 左臂 关节位置(弧度) [21:28] 右臂 关节位置(弧度)
动作统计(按关节)
| 关节 | 最小值 | 最大值 | 平均值 | 标准差 |
|---|---|---|---|---|
| L_thumb_0 | 0.000 | 1.050 | 0.011 | 0.104 |
| L_thumb_1 | 0.000 | 0.920 | 0.010 | 0.091 |
| L_thumb_2 | 0.000 | 1.750 | 0.018 | 0.174 |
| L_index_0 | -1.570 | 0.000 | -0.016 | 0.156 |
| L_index_1 | -1.750 | 0.000 | -0.018 | 0.174 |
| L_middle_0 | -1.570 | 0.000 | -0.016 | 0.156 |
| L_middle_1 | -1.750 | 0.000 | -0.018 | 0.174 |
| R_thumb_0 | -1.050 | 0.000 | -0.364 | 0.410 |
| R_thumb_1 | -0.920 | 0.000 | -0.319 | 0.360 |
| R_thumb_2 | -1.750 | 0.000 | -0.607 | 0.684 |
| R_index_0 | 0.000 | 1.570 | 0.544 | 0.614 |
| R_index_1 | 0.000 | 1.750 | 0.607 | 0.684 |
| R_middle_0 | 0.000 | 1.570 | 0.544 | 0.614 |
| R_middle_1 | 0.000 | 1.750 | 0.607 | 0.684 |
| L_shoulder_p | -0.553 | 0.379 | -0.159 | 0.162 |
| L_shoulder_r | -0.201 | 0.584 | 0.268 | 0.105 |
| L_shoulder_y | -0.064 | 0.604 | 0.246 | 0.095 |
| L_elbow | -0.740 | 1.367 | 1.126 | 0.466 |
| L_wrist_r | -1.012 | 0.611 | -0.065 | 0.117 |
| L_wrist_p | -1.028 | 0.146 | -0.396 | 0.176 |
| L_wrist_y | -0.621 | 0.348 | -0.007 | 0.108 |
| R_shoulder_p | -1.648 | 0.148 | -0.485 | 0.300 |
| R_shoulder_r | -0.726 | 0.323 | -0.068 | 0.177 |
| R_shoulder_y | -0.943 | 0.537 | -0.153 | 0.234 |
| R_elbow | -0.586 | 1.362 | 0.368 | 0.474 |
| R_wrist_r | -0.700 | 1.681 | 0.351 | 0.522 |
| R_wrist_p | -1.036 | 0.571 | -0.249 | 0.329 |
| R_wrist_y | -0.514 | 1.325 | 0.334 | 0.343 |
| torso_roll | 0.000 | 0.000 | 0.000 | 0.000 |
| torso_pitch | 0.391 | 0.727 | 0.540 | 0.058 |
| torso_yaw | -0.363 | 0.317 | -0.005 | 0.075 |
| base_height | 0.750 | 0.750 | 0.750 | 0.000 |
| vx | -0.759 | 0.757 | 0.011 | 0.345 |
| vy | -0.757 | 0.760 | 0.047 | 0.262 |
| vyaw | -0.750 | 0.750 | -0.001 | 0.252 |
| target_yaw | 0.000 | 0.000 | 0.000 | 0.000 |
采集流程
- 模拟器: NVIDIA Isaac Lab 2.3.2(Isaac Sim 4.5, PhysX 5, RTX渲染)
- 物理: 500 Hz内部频率,50 Hz控制频率(AMO子步数=10)
- 摄像头: TiledCamera 640x480 RGB安装在
head_link上,匹配RealSense D435i位置和角度(47.6°俯仰向下) - 运动: AMO策略(System-0)——基于强化学习,从IsaacGym移植。输入:1043+2325维本体感知。输出:15维腿部PD目标
- 动作语义: 绝对关节位置(非增量)
- 归一化:
bounds类型(参见meta/stats_psi0.json) - 动作-观测同步: p50 = 50ms, p95 = 66ms
目录结构
├── data/chunk-000/ │ ├── episode_000000.parquet │ ├── episode_000001.parquet │ └── ... (79个文件) ├── videos/chunk-000/egocentric/ │ ├── episode_000000.mp4 │ ├── episode_000001.mp4 │ └── ... (79个文件) ├── meta/ │ ├── info.json │ ├── episodes.jsonl │ ├── tasks.jsonl │ ├── episodes_stats.jsonl │ └── stats_psi0.json └── README.md
预期用途
该数据集设计用于使用finetune_simple_psi0_config、SimpleRepackTransform和bounds归一化来微调Psi0 VLA模型。训练流程预期:
- 动作块大小:30帧
- VLM骨干:冻结(Qwen3-VL-2B-Instruct)
- 动作专家:MM-DiT(~500M参数,流匹配)
- 批次大小:128(16/GPU x 8 GPUs)
- 训练步数:40,000
数据清洗
该数据集使用scripts/data/filter_episodes.py从81个情节筛选至79个:
| 移除项 | 原因 |
|---|---|
| 情节49(原始) | 仅22帧(0.7秒)——短于action_chunk_size=30,在训练期间会被填充 |
| 情节80(原始) | 原始记录流程中info.json的元数据伪影(差一错误) |
剩余情节被重新连续编号(0–78)。所有全局索引、帧索引和归一化统计均已重新计算。已使用scripts/data/validate_dataset_preflight.py --strict验证。 |
引用
如果使用此数据集,请同时引用此数据集和原始Ψ₀项目: bibtex @misc{setubal2026psi0appletoplate, title={Psi0 Apple-to-Plate VR Teleoperation Dataset}, author={Pedro Setubal and CloudWalk Research Lab}, year={2026}, howpublished={url{https://huggingface.co/datasets/cloudwalk-research/psi0-apple-to-plate-teleop}}, }
bibtex @misc{wei2026psi0, title={$Psi_0$: An Open Foundation Model Towards Universal Humanoid Loco-Manipulation}, author={Songlin Wei and Hongyi Jing and Boqian Li and Zhenyu Zhao and Jiageng Mao and Zhenhao Ni and Sicheng He and Jie Liu and Xiawei Liu and Kaidi Kang and Sheng Zang and Weiduo Yuan and Marco Pavone and Di Huang and Yue Wang}, year={2026}, eprint={2603.12263}, archivePrefix={arXiv}, primaryClass={cs.RO}, url={https://arxiv.org/abs/2603.12263}, }




