如何收集机器人训练数据:步骤指南 (2026)
收集机器人训练数据的步骤指南 硬件设置,远程操作方法,剧集设计,质量检测和扩展数据集.
收集高质量的机器人示范数据
开始之前:你需要的
数据收集是每个 [模仿学习]
硬件检查列表
- ** 机器人臂,可控制位置50Hz:** ViperX-300 S2, Koch v1.1, OpenArm,Franka Emika Panda,或类似.
- 远程操作界面: 领导者跟随者手臂 (最高数据质量),VR控制器 (Meta Quest 3,最低成本) 或3D鼠标 (SpaceMouse,最简单的设置).
- 摄像头: 至少有2台摄像头
1台手腕安装 (Intel RealSense D405推 ) 和1台上架 (RealSense D435或Logitech C920). 摄像头在收集会议之间不得移动. - 工作站: Ubuntu 22.04 或 24.04,NVIDIA GPU (任何现代卡都适用于数据收集, GPU 适用于后来的训练),500 GB+ NVMe SSD用于节目存储.
- 录制软件: LeRobot录制堆
,ALOHA录制脚本或自定义ROS2数据记录器.必须输出HDF5文件,具有同步的联合数据 (50 Hz) 和摄像头框架 (30 fps). - **任务对象:**数据收集过程中你将操纵的对象. 如果可能,请多倍数.
- 备份存储: 对于夜间备份的外部SSD或NAS. 一天收集数据产生20
50GB.由于磁盘故障而失去一天的收集成本昂贵.
选择您的手术方法
您选择的远程操作方法直接影响数据质量,收集吞吐量和操作员疲劳.
决策树:任务精确到方法
- 需要的微米精度 (插入,线程,细组合) → **领袖-跟随手臂.**领袖和跟随手臂之间的动态匹配提供了最佳位置精度.成本:领袖手臂为6,000美元~10,000美元.
- ** 厘米级精度足够** (选择,分类,包装) → ** VR 控制器 (Meta Quest 3).** 自然的手动,成本较低 ($500),操作员安装速度更快.适合粗略的操纵任务.
- 6-DOF终端效应器控制与力反
(接触丰富的任务,表面跟踪) → **带领先后手臂与重力补偿.**操作员通过带领手臂感觉到阻力,从而使得有力敏感的示范. - 外部手操纵 (指尖水平抓住,手中旋转) → 外骨手套 (SenseGlove Nova 2或HaptX G1).请参阅我们的 [双手设置指南]
T12 ). - 快速原型制作,单轴任务 → SpaceMouse或键盘. 最低的进入障碍. 在投资更好的硬件之前,适合验证您的录音管道.
对于大多数初创团队,建议是: 如果您有能力,请从领导跟随者设置开始,或者VR控制器如果预算有限.
摄像头和传感器设置
摄像头设置是数据收集质量中最被低估的因素之一. 收集和部署之间移动5毫米的摄像头可以降低您的政策的抓获成功率20%或更多.
摄像机类型和使用时间
- 手臂摄像头 (安装在机器人终端效应器): 提供了操纵点的近距离视图.对于精确任务 (插入,细抓) 非常重要.与机器人一起移动,因此它总是
制动.推 :英特尔RealSense D405 (紧 ,全球快门,30fps的640x480).使用硬的3D打印支架安装 避免随时间的移动带或粘贴式安装. - ** 顶部相机 (固定,看下工作空间):** 提供全球场景背景. 对于选择地点任务来说,该政策需要将工作空间中的物体定位至关重要.
上表高达120 150厘米,以工作空间为中心. 推 :英特尔RealSense D435或Logitech C920. - **侧摄像头 (固定,桌面高度):**捕捉到离空的接近轨迹和抓住配置. 适用于垂直接近 (堆叠,从上方插入) 的任务. 放置在操作员的工作空间的远方,桌面高度.
- **多视觉设置 (3+摄像头):**高质量收集的标准.ALOHA使用3摄像头堆
:左手腕,右手腕,上头.添加摄像头将线性增加数据量,但提高了政策强度,可变化视点.
装备和校准技巧
- 使用硬
挤出或钢支架. 永远不要使用可以滑或粘贴的紧 . - 设置后,用油墨笔或雕刻标记摄像头的位置.
- 在每次多天的收集活动之前,使用ArUco板校准摄像头外观.
- 设置摄像头手动曝光和白色平衡.自动曝光导致光线在框架之间闪
,从而降低了视觉特征学习. - 检查框架同步:摄像头和联合数据必须从同一钟印记时间.使用硬件触发器 (RealSense多摄像头同步) 或通过共享NTP钟进行软件同步.
剧情设计
节目是从开始到结束完成任务的单一示范.你如何设计节目,决定了你政策从
定义任务
在收集任何数据之前,请写出精确的任务规范.
- 任务目标: "从桌子上拿起红立方体,把它放进蓝碗里".
- 成功标准: "立方体位于碗内,抓住器开放,手臂已恢复到原始位置".
- 允许的策略:"从上方以上下掌握方法接近立方体".或明确地:"任何掌握方法都是可接受的".如果你限制策略,你会得到更一致的数据 (更好于ACT).如果你允许多种策略,你需要更多的数据,但政策可能更强大 (更好于传播政策).
- ** 剧集持续时间:** 定义最长的剧集长度.典型的桌面选择地点: 5
15秒. 如果一集超过中度持续时间的2倍,有些问题发生了.
开始国家分发
如果每次示范都以相同的位置开始,当对象向左 3 厘米时,该政策将失败.
- **第一阶段 (第50个演示):**使用一个小的起始状态分布.在中心点半径5厘米内,对象的位置变化.这确保了一致的演示,同时操作员培养了技能.
- **第二阶段 (示范51
200):**扩展到预期的全部部署分布.在整个可访问的工作空间中不同的对象位置.相应的对象方向. - 第三阶段 (200+示范): 添加干扰器,对象变体,照明变化和背景变化.
重新设置协议
在节目之间,你必须重新设置场景到有效的开始状态.
- 返回机器人到家设置 (预定联合位置).
- 设置任务对象在开始状态分布中处于新的位置.
- 检查场景符合任务规范 (物体可见,无遮蔽,抓住器开放).
- 待待场景的定位1秒 (没有残余物体运动).
- 开始录音.
录制你的第10集
首先,我们要验证你的运输线,而不是收集训练数据.
步骤一步的行程
- 启动录音脚本. 检查HDF5输出是否被写入正确的目录.检查录音过程中文件大小是否增加 (表示数据流).
- ** 操作员的位置.**操作员应在远程操作接口上舒适地坐或站,可以清楚地看到工作空间.对于领导者-跟随者:手放在领导者的手臂上.对于VR:耳机上,控制器在手中,工作空间可通过模式可见.
- 记录第1集. 顺利执行任务.不要急忙.
顺利的,有意的运动会比快速的, 的运动产生更好的政策. - 停止录音,检查事件. 打开HDF5文件.
- 联合位置数据 (
T3 ) 具有预期时间步骤数量 (剧集时间秒 x 50 Hz). - 摄像机图像 (
T4 ) 具有预期的图像数量 (长度 x 30 fps). - 行动数据 (
T5 ) 与联合位置尺寸相匹配. - 播放图像,并检查它们与联合数据同步.
- 录制2
10集. 稍微变动起始位置. - ** 运行一个训练测试.** 输入这些10集到你的训练脚本中.你不期望有好的政策
你正在验证训练管道是否会无错地接受你的数据格式.
每个剧情的质量控制
每个集都应该通过这个8点质量检查清单,然后再加入训练数据集. 审查每集需要30~60秒,并防止后来的几周调试不良政策.
八点节目QA检查清单
- 任务成功完成? 节目以成功标准的任务目标结束. 除非您专门收集恢复数据外,则丢弃部分完成.
- 操作员不犹
> 2 秒? 长时间间间歇在任务中,会产生"静止"的数据点,使政策混乱. - ** 滑轨道?** 播放关联位置数据. 寻找突然跳跃 (远程操作故障),振荡 (控制器不稳定),或不自然的速度变化.
- 摄像头图像清晰吗检查运动模糊,操纵点的遮蔽和正确的曝光.如果手腕摄像头图像在抓取过程中模糊,那个事件对于视觉政策学习是无用的.
- ** 正确的开始状态?** 检查该集开始于预期的开始状态分布中.从奇怪的配置开始的集引入了输出数据.
- ** 剧情时间在限度内?** 剧情时间应在平均值的标准偏差范围内.异常短的剧情可能表明任务不完整.异常长的剧情表明操作员难度.
- 数据完整性? HDF5文件没有损坏.所有预期的数据字段都存在.时间
标一律增加.联合数据中没有NaN值. - **一致的策略?**如果您正在限制策略 (建议为ACT),请检查该事件遵循指定方法.
常见的数据收集错误
会议间相机位置不一致
周一收集100集,然后在清理时撞上上头相机.周二的100集有略不同的观点.混合数据集训练一个政策从两个角度表现不好.
** 固定:** 严格安装摄像头. 拍摄摄像头位置. 在每次会议开始时,检查摄像头外部与参考ArUco板校准. 如果校准已经转移,在收集之前重新安装.
运营商疲劳降低数据质量
剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情: 剧情
**修正:**每45分钟执行10分钟的休息.每运营商每天限制收集会议时间为4小时.随着时间的推移,追踪质量指标 (事件持续时间,轨迹顺利性),并在质量恶化时停止收集.
3. 开始状态分布狭窄
**发生了什么:**所有示范都以大致相同的位置开始.该政策在该位置取得90%的成功,但在任何其他位置获得10%的成功.
修正: 在收集过程中系统地随机定位对象位置.使用格格格模式:将工作空间分为4x4格格,从每个格格格细胞开始收集至少3集. 作为数据集的指标,追踪开始状态覆盖.
4. 在扩展之前不验证录音管道
**发生了什么:**你在一周内收集500集,然后发现由于配置错误,行动数据记录在25Hz而不是50Hz.整个数据集是无法用于目标政策的.
修正: 首先始终验证10个测试集.在10个集中运行完整的训练管道.在投资大规模收集之前,检查数据尺寸,频率和格式兼容性.
5. 混合策略在一个小数据集中
**发生什么:**三个操作员使用不同的抓取方法.只有150个总集 (50个方法),没有单个方法有足够的数据.ACT平均了方法,产生了一个无效的中间轨迹.
** 修正:** 在300集以下的数据集中,将数据集标准化为单一的策略. 训练运营商使用相同的方法.对于更大的数据集 (300+),多个策略是好的.
忽略照明变化
**发生什么:**所有数据都在一致的实验室照明下收集.在稍微不同的照明条件下 (下午阳光,不同的空中照明) 部署时,该政策失败.
修正: 在第二和第三阶段收集期间,故意改变照明.关闭一些节目的上灯.从不同角度添加桌面灯.关闭/打开窗户窗
从50集到500集的规模
规模化数据收集引入了组织的挑战,而这些挑战并非小规模存在.
运营商培训
在增加超出原始1
- 让新运营商在开始之前观看10个例集.
- 需要20个练习节目,在计算数据集之前通过QA.
- 搭配新运营商和经验丰富的运营商,
- 轨道运营商的质量指标:平均事件持续时间,轨道顺度分数,QA拒绝率.
班级安排
对于大规模收藏 (500多集):
- 每天安排2
3个运营商,每天分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分别分分分别分别分别分别分别分别分分分分分分分分分分分分分分分分分分分分分分分 - 每个班级都产生约40
60集 (每集的3 4分钟,包括重置和QA). - 指定一个人作为"数据领先者",每天结束时审查质量指标,并标记降低.
- 预算:在RCSV费用下,专业运营商每次验证的集收费为15
25美元,包括QA.内部收费有所不同,但通常在计算运营商时间和总费时每集收费为8 15美元.
检测质量降低
在大规模收集期间,每天都会监测这些指标:
- **平均事件持续时间:**应保持稳定 (±10%).持续时间增加表明操作员疲劳或任务难度增加.
- **QA拒绝率:**应保持在15%以下,如果升至20%以上,停止收集和调查.
- 轨迹顺度: 计算每个集中的
(位置的第三衍生值). 标志节中平均 >2倍的数据集平均. - ** 开始状态覆盖:** 在二维热地图上绘制起始位置. 检查预期分布范围均
的覆盖. 将运营商转向未采样区域.
数据存储和组织
文件结构
project-name/
raw/
2026-04-12/
episode_001.hdf5
episode_002.hdf5
...
2026-04-13/
episode_101.hdf5
...
validated/
episode_001.hdf5 # passed QA
episode_002.hdf5
...
rejected/
episode_045.hdf5 # failed QA, kept for reference
...
metadata/
collection_log.csv # operator, date, start_state, duration, QA status
camera_calibration_2026-04-12.json
task_specification.md
training/
train/ # 85-90% of validated episodes
val/ # 10-15% of validated episodes
命名会议
- 剧情文件:
T6 (例如, T7 ). - 在 HDF5 文件属性中包括元数据:操作员ID,收集日期,开始状态描述,QA状态,任务名称.
- 如果删除第45集,下一集仍然是46集,而不是45集.
备份策略
- 每日:将原始/目录同步到外部SSD或NAS.
- 周一:将验证的目录/目录上传到云存储中 (AWS S3,Google云存储).
- 每次收集活动后:创建一个版本档案 (例如,
T8 ) 并将其上传到团队共享存储器. - 永远不要在现场编辑HDF5文件.如果你需要修改数据 (例如,收获事件,修复时间
),创建一个新的文件并保留原始的原始/.
装载到培训管道
莱罗伯特摄入
转换你的HDF5数据集为LeRobot格式,用于ACT或传播政策的培训:
# Convert HDF5 episodes to LeRobot Parquet format
python -m lerobot.scripts.convert_dataset \
--raw-dir ./validated/ \
--repo-id my-org/my-task-v1 \
--raw-format hdf5_aloha
# Verify the converted dataset
python -m lerobot.scripts.visualize_dataset \
--repo-id my-org/my-task-v1 \
--episode-index 0
结构验证 HDF5
在转换之前,请检查您的 HDF5 文件包含预期结构:
# Quick verification script
import h5py
import numpy as np
with h5py.File('episode_0001.hdf5', 'r') as f:
# Check required fields
assert 'observations' in f
assert 'action' in f
qpos = f['observations/qpos'][:]
images = f['observations/images/cam_high'][:]
actions = f['action'][:]
print(f"Joint data: {qpos.shape}") # expect (T, num_joints)
print(f"Images: {images.shape}") # expect (T_img, H, W, 3)
print(f"Actions: {actions.shape}") # expect (T, num_joints)
# Check for NaN values
assert not np.any(np.isnan(qpos)), "NaN in joint data!"
assert not np.any(np.isnan(actions)), "NaN in actions!"
# Check timestamp monotonicity
if 'timestamps' in f:
ts = f['timestamps'][:]
assert np.all(np.diff(ts) > 0), "Non-monotonic timestamps!"
详细的格式规格和HDF5,RLDS和LeRobot格式之间的转换,请参阅我们的 [数据格式指南]
需要帮助收集数据吗?
RCSV管理了整个数据收集过程 训练有素的操作员,校准硬件,集中的QA和在目标格式中交付.我们已经收集了超过30多类型的操作集.
[查看数据收集服务]







