You need to enable JavaScript to run this app.
文档中心
机器学习平台

机器学习平台

复制全文
下载 pdf
具身智能
云上数据采集最佳实践
复制全文
下载 pdf
云上数据采集最佳实践

概述

云上PICO数据采集平台,是依托PICO头显Isaac Lab仿真环境中完成机器人遥操数据采集的一站式平台。
平台面向数据采集管理员数据采集员两类角色,支持从任务创建、远程采集、数据预览到审核归档的全流程管理,最终输出可用于模型训练的标准化仿真交互数据。
Image

图1. 云上PICO数据采集平台流程图

SNS 事件是云上 PICO 数据采集平台任务终审归档后的标准化对外消息出口,面向下游消费方提供异步、解耦、可靠的任务完成状态与数据交付通知。

准备工作

注:任务管理员与队列管理员权限、职能完全一致,下文统一统称为管理员
权限管理相关详细规则,可查阅火山引擎官方文档:产品介绍--访问控制-火山引擎
队列创建相关细则,可查阅火山引擎官方文档:创建资源队列--机器学习平台-火山引擎

管理员权限配置
管理员需要先通过主账号,新建队列,将管理员用户添加为队列管理员。为了管理员后续方便管理采集员的权限,可以用主账号授予管理员账户IAMFullAccess策略权限。
采集员权限配置
为避免采集员账号查看全量队列任务、越权浏览非自身负责任务,需对采集员权限做精简限制,具体操作如下:

  1. 主账号进入访问控制 -权限策略页面,新建自定义权限策略
  2. 在新建页面点击导入已有策略,选中 MLPlatformDeveloperAccess 策略完成导入。
  3. 进入 JSON 编辑界面,删除策略内 ml_platform:Get*ml_platform:List* 全量查询类权限接口,修改策略名称后提交保存。
  4. 进入采集员的用户详情页面(访问控制 > 用户管理 > 用户)先移除原有 MLPlatformDeveloperAccess 权限,再替换添加上述编辑完成的精简自定义策略
  5. 最后给采集员添加MLPlatformTeleOperator策略权限。

管理员流程

该部分介绍如何创建采集员用户组,创建任务队列并添加成员,创建数据采集任务,如何配置关键参数,如何进行数据核验,以及如何自定义任务等进阶操作。

创建采集任务

管理员需要先登录火山引擎账户,进入机器学习平台。
进入火山引擎机器学习平台界面后,按照图2所示,依次点击侧边栏自定义任务 > 数据采集任务 > 创建数据采集任务进入创建任务界面。管理员需要注意资源组和地区是否正确。

图2. 创建数据采集任务流程示例
图3. 数据采集任务配置示例界面

进入数据采集任务配置界面(如图3所示),需要填写任务配置的信息。
以下是对应栏目的具体说明:

  1. 基础信息
    1. 名称:显示在队列中具体数据采集任务的名称;
    2. 描述:数据采集任务的具体描述(使用机器人,采集任务,采集员信息);
    3. 机器人型号:tag,用于后续管理数据时做筛选
  2. 任务配置
    1. 镜像:配置好运行环境与代码的容器,选择 预置镜像 > physical-ai > isaacsim-v5.1.0_lab-v2.3.2
    2. isaac可视化:平台自动配置监听端口,需要开启公网,仿真平台帧率与延迟受带宽影响,用户可以访问带宽 FAQ--公网IP-火山引擎了解更多细节;
    3. 采集次数:该采集任务预期采集的轨迹条数;
    4. 所属队列与实例规格:决定采集任务的硬件配置,配置越高,采集越流畅、成本越高。示例配置:单卡 L20(48GB GDDR6)
    5. 采集员:负责该采集任务的具体采集员;
    6. 启动命令:自定义化程度高,可更改具体采集任务配置交互方式配置等;
    7. 存储路径:采集数据的输出路径的挂载(具体在挂载上的输出路径需要去启动命令中更改),注意,创建任务时每个任务挂载的文件夹路径需要不同;
    8. 视频预览:采集数据后将自动将hdf5数据转换为mp4格式,方便预览,建议开启。

配置完毕后,点击创建数据采集任务,便可以在数据采集任务中看到创建的任务。

启动命令

示例
在确定任务挂载的文件夹路径不一致之后,可以直接复制使用:

# 请用户先确定不同任务挂载的路径不同,再进行复制使用
ACCEPT_EULA=Y /entrypoint.sh /workspace/isaaclab/isaaclab.sh -p \
/workspace/isaaclab/scripts/tools/record_demos.py \
--task Isaac-PickPlace-GR1T2-Abs-Camera-v0 \
--teleop_device handtracking \
--enable_pinocchio --enable_cameras \
--dataset_file /workspace/datasets/demo.hdf5 \
--num_demos 5 --num_success_steps 3 \
--headless --info

可选参数

参数

类型

默认值

是否必填

说明

--task

str

Gym 环境任务 ID(例如 Isaac-PickPlace-GR1T2-Abs-Camera-v0

--teleop_device

str

keyboard

遥操作设备:脚本提示内置 keyboard/spacemouse/gamepad,你用的 handtracking 也支持(会触发 XR)

--dataset_file

str

./datasets/dataset.hdf5

demo 输出 hdf5 路径

--step_hz

int

30

环境步进频率(非 XR 时用)

--num_demos

int

0

录制成功 demo 数量;0 表示无限录

--num_success_steps

int

10

连续成功步数达到该值才把本条 demo 标成成功并导出

--enable_pinocchio

flag

False

启用 pinocchio(脚本会额外 import 一些 pick_place 相关包)

--headless

flag

False

无 GUI 启动(强制 display off)

--livestream

int

-1

Livestream 模式(0/1/2,会隐式 headless)

--enable_cameras

flag

False

启用相机传感器与相关扩展(Camera 任务一般需要开)

--xr

flag

False

启用 XR(VR/AR)模式

--device

str

cuda:0

仿真运行设备:cpu / cuda / cuda:N

--verbose

flag

SimulationApp verbose 日志(通过 sys.argv 读取)

--info

flag

SimulationApp info 日志(通过 sys.argv 读取)

--experience

str

""

指定 Isaac Sim experience;空字符串时根据 headless/相机自动推断

--rendering_mode

str

(内部默认 balanced

渲染预设:performance/balanced/quality

--kit_args

str

""

直接透传给 Omniverse Kit 的额外参数字符串

--anim_recording_enabled

flag

启用 USD 动画录制

--anim_recording_start_time

float

0

动画录制开始时间

--anim_recording_stop_time

float

10

动画录制结束时间

表1. 启动命令各参数信息表

具体任务示例视频:

视频1. Isaac-PickPlace-GR1T2-Abs-Camera-v0任务演示

3.2 数据校验

图4. 数据预览tab页

采集员完成数据采集作业后,采集员需要在任务详情页点击提交任务按钮,系统将任务状态更新为已提交。管理员可以在数据预览tab页预览录制的采集视频。
管理员需对任务归集的原始数据开展合规性、完整性及业务规范校验,待核查确认数据完全符合采集标准与业务要求后,点击页面右上角完成校验操作,任务状态同步变更为已校验,标志单次数据采集流程正式闭环。
采集流程办结后,系统通过 SNS 事件 向上游下游业务链路发送事件通知,供后续业务模块进行消费与联动处理。

采集员流程

该部分面向数据采集员,介绍如何登录数据采集任务界面,使用pico进行数据采集任务流程,以及数据核验。

登录采集任务界面

采集员用户佩戴好pico,推荐使用蓝牙键鼠, 在pico上登录火山引擎账号,并进入火山引擎机器学习平台界面。

进入数据采集任务

登录机器学习平台界面后,进入数据采集任务列表,请用户确认选择的资源和地区无误,采集员应当在任务列表看到管理员部署的任务。

图5. 采集员视角下的数据采集任务列表

单击任务列表中的某一个具体任务,进入任务详情页后,点击右上角的开启任务。

云上数据采集具体流程

采集员点击接入 VR按钮,跳转至设备连接页面;点击页面内Connect,即可进入仿真环境。
若首次进入系统,将自动进入房间标定界面,需按照页面指引完成房间标定;若已完成历史标定,可直接跳过标定流程。后续如需重新调整房间标定参数,可在 PICO 设备系统设置中,自行进入房间标定功能重新配置。

图6. 仿真环境示意图

进入仿真环境后,采集员可查看操控面板,需先确认面板status状态为connected,满足就绪条件后方可启动任务。其中countdown为点击 Play 后的任务进入倒计时,可通过面板加减按键自定义调整倒计时时长。面板各功能按钮说明如下:

  • play:发起并启动数据采集任务;
  • reset:重置当前仿真运行环境;注意,重置后需要采集员重新按play启动任务
  • disconnect:退出仿真环境并断开连接。
图7. 仿真环境控制面板

采集员进入仿真环境后,可通过前后俯仰上身躯干、转动头部姿态,完成机器人视角的对齐与校准。若当前观测视角偏离机器人本体较远,或需要重新规划机器人初始站位,可长按 PICO 手柄 Home 键一键重置机器人位置与视角;也可通过手部抓握手势完成重置操作,需要采集员具体操作方式参见视频2示例。
注意:
重置位置不支持手动调整 Y 轴坐标;机器人 Y 轴(竖直方向)位置,在连接页面点击Connect后即固定锁定。
若需调整机器人Y 轴竖直高度,请在 Connect 页面修改Y offset(Y 轴偏移量):参照图 8,Y offset 数值越大,机器人安装高度越高,设备俯视视角越向下。若用户发现机器人在竖直方向上的高度与视角相差过大,请参考 常见问题(QA)中的 Q5。

图8. Connect页面
视频2. 通过home键重置机器人位置与视角演示

确认机器人位置及视角调试至合适状态后,采集员即可正式开展仿真采集任务。
首先放下 PICO 手柄,待设备完成双手识别,视野中呈现红色手部关键点即为识别成功。随后移动右手,以拇指与食指捏合的交互方式点击控制面板的Play按钮,发起采集任务。
任务进入倒计时阶段时,调整双手姿态,将画面内红色手位点与仿真机械臂完成对位校准。倒计时结束后,仿真机械手将自动跟随手位点姿态进行同步追踪,正式启动数据采集流程。
数据采集完成后,界面将提示 Recorded x successful demonstrations.,其中 x 为当前已成功采集的样本条数。当采集数量达到任务预设指标后,机械手将自动停止跟随手部姿态运动,该状态属于正常流程逻辑。
完整采集流程可参见视频3示例。

视频3. 采集流程演示

完成任务预设采集数量后,采集员可通过PICO手柄操作或手势捏合交互,点击控制面板上的 disconnect 按钮,退出仿真环境。注意:采集员需要在详情页点击提交任务,才能在任务详情页看到预期采集数进度条的变化。

图9. 完成所有采集任务后画面示例

数据检查与可视化

采集员在提交任务后,可以直接在任务详情页的数据预览tab上(如图4.)找到视频预览文件夹。进入文件夹后即可预览录制的采集任务视频。

附录

PICO使用技巧(截屏、投屏、退出唤醒等)

参考文档:https://developer-cn.picoxr.com/document/unreal/input-mappings/

手柄与头戴设备按键展示

图10. pico手柄按键示意图

按键A与扳机键为确认,按键B为返回键,Home键返回主菜单,隐藏所有窗口或呼出所有窗口。

图11. pico头戴设备按键示意图

常用操作指南

退出和唤醒
佩戴 PICO 头显进入遥操模式后,设备默认仅显示单透视画面,隐藏所有操作窗口。

  • 唤出全部界面按下手柄上的 Home 按键,即可一键唤出全部隐藏的功能窗口与操作菜单。
  • 退出全屏占用场景在遥操窗口、企业串流窗口等全屏独占运行的状态下,按下手柄 Home 按键,即可快速退出全屏、退出当前遥操 / 串流占用画面,返回通用操作界面。

截屏

  • 短按手柄上的截/录屏 按键,即可一键截屏;
  • 长按手柄上的 截/录屏按键,即可触发录屏,期间短按可以截屏,再次长按结束录屏。

截屏与录屏结果保存路径位于 资源库 -> 文件 -> 视频/图片
投屏
请先保证pico设备和投屏的显示器位于同一局域网络下,随后点击pico状态栏,点击投屏,进入投屏指引。

常见问题(QA)

Q1:为什么远程仿真 / 视频推流 / 连接服务失败?
A:请检查云实例安全组规则,确认已放通对应 UDP 端口;若安全组未放行 UDP 端口,会导致链路不通、连接失败。

Q2: 仿真环境中,机器人在视角上/下方,无法通过长按home键或抓握手势重置?
A:采集员需要按diconnect退出仿真环境,在Connect页面中调整y offset。参考文档4.3部分与图8。

Q3: 为什么我采集完成之后,任务详情页的采集数量进度条没有变化?
A: 采集员需要点击提交任务后,采集数量进度条才能增加。

Q4: 若配置页中的预期采集次数与命令行中的num_demos不一致,实际采集任务过程中的次数以什么为准呢?
A:实际采集次数只与命令行中的num_demos参数有关,当采集成功次数等于num_demos时,采集任务将终止。

Q5: 为什么进入VR界面,发现机器人高度超出了我的视角?
A: Pico的高度感知可能发生错误,用户需要在pico菜单栏中的设置 > 安全防护 > 调整地面高度,中调整房间的地面高度,随后重新进入VR界面,即可解决。

最近更新时间:2026.05.26 13:32:48
这个页面对您有帮助吗?
有用
有用
无用
无用