naive-bench-subtasks
收藏资源简介:
naive-bench — Bin Sorting 是一个语言条件化的分拣遥操作数据集,专为SO-101单臂机器人设计,旨在比较固定计算和数据约束下的机器人操作策略(如ACT、VLAs等)。任务核心是将{bar_color}色条放入{bin_color}色箱中,其中箱体颜色(白色、黄色、橙色、蓝色)是任意命名的目标,没有颜色匹配规则,因此策略必须同时理解指令中的条颜色和箱颜色才能成功,这直接评估了语言接地能力。数据集包含312个片段、115,378帧,覆盖20个训练指令(总24个可能指令,其中4个被保留以测试组合泛化)。数据格式为LeRobotDataset v3.0,包括机器人状态(六个关节位置)、动作,以及两个摄像头(臂摄像头和头顶摄像头)的RGB图像(240×320分辨率,AV1编码)。评估协议采用分层滚动测试,从单条基础场景到多条干扰场景,评分系统根据任务完成度给予0到1分。数据集通过teleoperation收集,使用HITL记录器配对观察和动作。
naive-bench — Bin Sorting is a language-conditioned sorting teleoperation dataset designed for the SO-101 single-arm robot, aimed at comparing robot manipulation strategies (such as ACT, VLAs, etc.) under fixed computation and data constraints. The core task is put the {bar_color} bar into the {bin_color} bin, where bin colors (white, yellow, orange, blue) are arbitrarily named targets with no color matching rules, so strategies must simultaneously understand the bar color and bin color in the instruction to succeed, directly evaluating language grounding capabilities. The dataset contains 312 episodes, 115,378 frames, covering 20 training instructions (out of 24 possible instructions, with 4 reserved for testing compositional generalization). The data format is LeRobotDataset v3.0, including robot state (six joint positions), actions, and RGB images from two cameras (arm camera and overhead camera) with 240×320 resolution and AV1 encoding. The evaluation protocol uses a hierarchical rolling test, from single-bar basic scenarios to multi-bar interference scenarios, with a scoring system awarding scores from 0 to 1 based on task completion. The dataset is collected via teleoperation, using an HITL recorder to pair observations and actions.
数据集概述:naive-bench — Bin Sorting
基本信息
- 许可证:Apache-2.0
- 任务类别:机器人学(robotics)
- 标签:LeRobot, SO-101, 分拣(bin-sorting), 视觉-语言-动作(VLA), 语言条件(language-conditioned)
- 数据集格式:LeRobotDataset v3.0
任务描述
- 指令格式:将{bar_color}颜色的小棒放入{bin_color}颜色的箱子中
- 目标:区分VLA与ACT/WAM策略——箱子是任意命名目标(无颜色匹配规则),策略必须同时读取小棒颜色和箱子颜色才能正确放置
- 训练场景:每个场景包含单根小棒,目标箱在小棒的各个回合中变化
技术规格
| 项目 | 详情 |
|---|---|
| 机器人 | SO-101跟随臂(6个位置控制关节) |
| 相机 | 手臂相机(arm_camera)+ 俯视相机(overhead_camera),240×320 RGB,AV1格式 |
| 控制/视频帧率 | 30 fps |
| 回合数 | 312 |
| 总帧数 | 115,378 |
| 训练指令任务数 | 20(共24个指令空间,4个保留) |
状态与动作
状态和动作为SO-101的6个关节位置,顺序如下(不可更改):
shoulder_pan.pos, shoulder_lift.pos, elbow_flex.pos, wrist_flex.pos, wrist_roll.pos, gripper.pos
训练/保留指令分布
保留的(小棒颜色,箱子颜色)组合(共4个,用于测试组合能力):
- 蓝色小棒 → 橙色箱子
- 红色小棒 → 白色箱子
- 黄色小棒 → 蓝色箱子
- 绿色小棒 → 橙色箱子
其他20个组合出现在训练集中。
回合分布(每单元回合数,✗ = 保留,未记录)
| 小棒 ↓ / 箱子 → | 白色 | 黄色 | 橙色 | 蓝色 | 总计 |
|---|---|---|---|---|---|
| 蓝色 | 18 | 18 | ✗ | 18 | 54 |
| 红色 | ✗ | 18 | 18 | 18 | 54 |
| 黄色 | 18 | 18 | 18 | ✗ | 54 |
| 绿色 | 18 | 18 | ✗ | 18 | 54 |
| 紫色 | 12 | 12 | 12 | 12 | 48 |
| 橙色 | 12 | 12 | 12 | 12 | 48 |
| 总计 | 78 | 96 | 60 | 78 | 312 |
评估协议
评估层级
| 层级 | 场景 | 指令 | 测试次数 | 主要测试目标 |
|---|---|---|---|---|
| T0 — 完整性 | 1根小棒 | 已见过的(小棒,箱子)组合 | 10 | 复现训练分布(诊断基准) |
| T1 — 保留路由 | 1根小棒 | 保留的(小棒,箱子)组合 | 30 | 组合式语言基础(两个槽独立学习) |
| T2 — 双棒基础 | 2根小棒 | 命名其中一根,已见过组合 | 30 | 通过语言分辨物体(核心指标) |
| T3 — 三棒基础 | 3根小棒 | 命名其中一根 | 20 | 更高杂乱度下的语言基础 |
| T4 — 双棒+保留 | 2根小棒 | 命名小棒→保留箱子 | 20 | 最难:分辨物体并路由到未见目标 |
总计:每个策略110次测试。
评分标准
| 结果 | 得分 |
|---|---|
| 命名小棒放入命名箱子 | +1.0 |
| 命名小棒放入错误箱子(正确物体,路由失败) | +0.5 |
| 命名小棒被抓取并举起但未放置 | +0.3 |
| 命名小棒被接触但抓取失败 | +0.1 |
| 未与命名小棒产生有效交互 | 0 |
| 抓取/移动非命名小棒(选择性注意失败) | −0.5 |
综合评分公式(移除T0):
grounding_score = 0.30·T1 + 0.35·T2 + 0.20·T3 + 0.15·T4
数据加载示例
python from lerobot.datasets.lerobot_dataset import LeRobotDataset ds = LeRobotDataset("binhpham/naive-bench") print(ds.meta.total_episodes, ds.meta.total_frames) sample = ds[0] # observation.state, observation.images.*, action, task, ...
数据采集
使用naive-bench运行时(基于LiveKit Portal)采集:人类遥操作SO-101主臂,HITL记录器将每个执行的动作与对应的观测配对。详见仓库中的operators/teleoperator/目录。



