数据采集指南

使用量子 1 号 Pro WebUI 或 SDK 采集、导出和检查机器人数据,适用于数据归档、算法验证、Wall\-OSS 及其他模型训练任务。

本指南面向需要独立采集机器人数据的用户。无论数据用于回放分析、算法验证、Wall-OSS,还是其他模型训练,都应先完成可靠的原始数据采集,再根据目标框架转换训练格式。

如果目标是训练 Wall-OSS,请在完成本页流程后继续阅读数据准备;本页不要求使用 Wall-OSS。

适用场景

  • 录制并归档机器人任务过程;

  • 采集相机、机器人状态和动作数据用于算法分析;

  • 为 Wall-OSS、LeRobot 或其他模型准备自有数据;

  • 验证遥操作链路、传感器同步和动作映射;

  • 建立可重复的数据采集与质量验收流程。

开始前

  • 确认机器人、遥操作设备和开发机网络稳定;

  • 检查机身急停、无线急停和软件停止功能;

  • 确认各相机画面、机械臂、夹爪、底盘和机器人状态正常;

  • 明确任务名称、起始状态、成功条件、失败条件和重置方式;

  • 确认机器人本地存储空间充足;

  • 记录机器人、软件、固件、标定和场景版本。

通过 WebUI 快速采集

进入数采模式

在 WebUI 主界面打开模式菜单,选择“数采模式”,然后点击“开始数采模式”。

image46.jpg

在 WebUI 中选择数采模式

创建任务

点击“新建任务”,填写清晰、稳定的任务名称并确认。建议使用便于检索的英文名称,例如 pick_waste_test。同一采集目标应保持任务名称和任务描述一致。

image47.jpg

创建数据采集任务

选择任务并开始录制

从任务列表中选择目标任务,检查当前相机画面和机器人状态,然后点击“开始录制”。使用 VR 遥操作时,可长按右手柄 B 键开始录制;使用主臂支架时,可长按右手柄上键(按键 3)开始录制。

image48.jpg

选择任务并开始录制

完成并结束录制

按照统一流程完成任务。一次录制对应一个 episode;任务完成、失败或需要重置时,点击“结束录制”,或使用当前遥操作设备的录制按键结束本次录制。

image49.jpg

结束当前数据录制

结束后先检查本次数据是否完整。成功数据、失败数据和人工中断数据应按项目规则明确标记,不要混用。

重置并继续采集

将机器人、物体和环境恢复到约定的初始状态,再开始下一个 episode。首轮建议固定场景和任务流程,确认数据链路稳定后再逐步增加位置、物体和光照变化。

导出原始数据

录制数据保存在机器人端:

/home/xr/bagfiles/bags_temp

登录机器人并进入数据目录:

ssh xr@<ROBOT_IP> cd /home/xr/bagfiles/bags_temp ls -lh

如数据以 tar 包保存,可按实际文件名解压:

tar -xvf <bag_name>.tar

导出前建议保留一份未经修改的原始数据,并同时记录任务名称、episode 编号、采集时间、操作者、设备版本和采集结果。上传或共享数据应由用户主动决定。

通过 SDK 自定义采集

需要自定义传感器组合、采样频率、任务流程或存储格式时,可以使用 SDK 构建采集程序:

  1. 建立机器人连接并检查设备状态;

  2. 声明需要记录的相机、状态、动作和附加传感器;

  3. 统一采样时钟、序号和 episode 边界;

  4. 将控制与图像编码、写盘解耦,避免采集阻塞机器人控制;

  5. 记录目标频率、实际频率、时间戳和丢帧信息;

  6. 结束 episode 时写入任务文本、结果和失败原因;

  7. 导出后执行完整性检查和抽样回放。

SDK 采集仍应遵守与 WebUI 采集相同的数据契约和安全要求。

通用数据契约

在转换为任何训练格式前,至少确认:

  • 相机 key、顺序、分辨率、FPS、编码、内参和外参;

  • observation.state 的 shape、dtype、单位、坐标系和字段顺序;

  • action 的 shape、dtype、单位、动作模式、控制频率和字段顺序;

  • episode 边界、任务文本、结果标签、时间戳和帧索引;

  • 相机、状态和动作之间的时间同步方式;

  • 缺帧、重复帧、失步、异常动作和人工中断的标记方式;

  • 机器人、软件、固件、标定及采集场景版本。

用于其他模型训练

原始 bag 数据通常不能直接用于训练。接入其他模型或训练框架前:

  1. 先确定目标模型要求的 observation、action、图像和任务文本格式;

  2. 建立原始字段到目标字段的明确映射,不要仅按维度机械裁剪;

  3. 完成时间对齐、坐标系转换、单位转换和动作范围检查;

  4. 将数据转换为目标框架要求的目录与文件格式;

  5. 对转换前后的 episode 数量、帧数、时间戳和任务标签进行核对;

  6. 抽样回放图像、状态和动作,确认方向与幅度正确后再训练。

如目标框架使用 LeRobotDataset,可参考 Wall-OSS 的数据准备了解 Parquet、MP4 和元数据结构,但字段语义仍应以目标模型配置为准。

数据质量检查

  • 每个 episode 都能完整回放;

  • 相机视频无明显中断、倒序或大段重复;

  • 相机、状态和动作时间戳连续且能够对齐;

  • state、action 与时间戳长度符合预期;

  • 任务名称、任务文本和实际动作一致;

  • 起始、成功、失败和重置规则保持一致;

  • 采样频率稳定,缺帧和人工中断可识别;

  • action 的单位、范围、坐标系和控制方式已经确认;

  • 原始数据、转换脚本、字段映射和版本信息均已留档;

  • 数据上传、共享和删除符合项目要求。

常见问题

  • 录制后找不到数据: 确认录制已经正常结束,并检查 /home/xr/bagfiles/bags_temp、磁盘空间和任务名称。

  • 相机与动作不同步: 检查各数据源时间戳、采样频率、缓存和写盘阻塞,定位失步发生在采样、传输还是转换阶段。

  • 录制过程中丢帧: 降低不必要的图像分辨率或频率,检查网络带宽、编码负载和磁盘写入速度。

  • 转换后动作方向错误: 核对关节顺序、坐标系、单位、绝对或相对动作模式,以及目标模型的 action 定义。

  • 不同批次数据无法合并: 对比相机命名、字段顺序、标定、采样频率和软硬件版本,避免直接合并不一致的数据契约。

本页内容