云上PICO数据采集平台,是依托PICO头显在Isaac Lab仿真环境中完成机器人遥操数据采集的一站式平台。
平台面向数据采集管理员与数据采集员两类角色,支持从任务创建、远程采集、数据预览到审核归档的全流程管理,最终输出可用于模型训练的标准化仿真交互数据。
图1. 云上PICO数据采集平台流程图
SNS 事件是云上 PICO 数据采集平台任务终审归档后的标准化对外消息出口,面向下游消费方提供异步、解耦、可靠的任务完成状态与数据交付通知。
注:任务管理员与队列管理员权限、职能完全一致,下文统一统称为管理员。
权限管理相关详细规则,可查阅火山引擎官方文档:产品介绍--访问控制-火山引擎
队列创建相关细则,可查阅火山引擎官方文档:创建资源队列--机器学习平台-火山引擎
管理员权限配置
管理员需要先通过主账号,新建队列,将管理员用户添加为队列管理员。为了管理员后续方便管理采集员的权限,可以用主账号授予管理员账户IAMFullAccess策略权限。
采集员权限配置
为避免采集员账号查看全量队列任务、越权浏览非自身负责任务,需对采集员权限做精简限制,具体操作如下:
MLPlatformDeveloperAccess 策略完成导入。ml_platform:Get*、ml_platform:List* 全量查询类权限接口,修改策略名称后提交保存。MLPlatformDeveloperAccess 权限,再替换添加上述编辑完成的精简自定义策略。MLPlatformTeleOperator策略权限。该部分介绍如何创建采集员用户组,创建任务队列并添加成员,创建数据采集任务,如何配置关键参数,如何进行数据核验,以及如何自定义任务等进阶操作。
管理员需要先登录火山引擎账户,进入机器学习平台。
进入火山引擎机器学习平台界面后,按照图2所示,依次点击侧边栏自定义任务 > 数据采集任务 > 创建数据采集任务进入创建任务界面。管理员需要注意资源组和地区是否正确。
图2. 创建数据采集任务流程示例
图3. 数据采集任务配置示例界面
进入数据采集任务配置界面(如图3所示),需要填写任务配置的信息。
以下是对应栏目的具体说明:
配置完毕后,点击创建数据采集任务,便可以在数据采集任务中看到创建的任务。
示例
在确定任务挂载的文件夹路径不一致之后,可以直接复制使用:
# 请用户先确定不同任务挂载的路径不同,再进行复制使用 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
可选参数
参数 | 类型 | 默认值 | 是否必填 | 说明 |
|---|---|---|---|---|
| str | 无 | 是 | Gym 环境任务 ID(例如 |
| str |
| 否 | 遥操作设备:脚本提示内置 |
| str |
| 否 | demo 输出 hdf5 路径 |
| int |
| 否 | 环境步进频率(非 XR 时用) |
| int |
| 否 | 录制成功 demo 数量; |
| int |
| 否 | 连续成功步数达到该值才把本条 demo 标成成功并导出 |
| flag |
| 否 | 启用 pinocchio(脚本会额外 import 一些 pick_place 相关包) |
| flag |
| 否 | 无 GUI 启动(强制 display off) |
| int |
| 否 | Livestream 模式( |
| flag |
| 否 | 启用相机传感器与相关扩展(Camera 任务一般需要开) |
| flag |
| 否 | 启用 XR(VR/AR)模式 |
| str |
| 否 | 仿真运行设备: |
| flag | 无 | 否 | SimulationApp verbose 日志(通过 sys.argv 读取) |
| flag | 无 | 否 | SimulationApp info 日志(通过 sys.argv 读取) |
| str |
| 否 | 指定 Isaac Sim experience;空字符串时根据 headless/相机自动推断 |
| str | (内部默认 | 否 | 渲染预设: |
| str |
| 否 | 直接透传给 Omniverse Kit 的额外参数字符串 |
| flag | 无 | 否 | 启用 USD 动画录制 |
| float |
| 否 | 动画录制开始时间 |
| float |
| 否 | 动画录制结束时间 |
表1. 启动命令各参数信息表
具体任务示例视频:
视频1. Isaac-PickPlace-GR1T2-Abs-Camera-v0任务演示
图4. 数据预览tab页
采集员完成数据采集作业后,采集员需要在任务详情页点击提交任务按钮,系统将任务状态更新为已提交。管理员可以在数据预览tab页预览录制的采集视频。
管理员需对任务归集的原始数据开展合规性、完整性及业务规范校验,待核查确认数据完全符合采集标准与业务要求后,点击页面右上角完成校验操作,任务状态同步变更为已校验,标志单次数据采集流程正式闭环。
采集流程办结后,系统通过 SNS 事件 向上游下游业务链路发送事件通知,供后续业务模块进行消费与联动处理。
该部分面向数据采集员,介绍如何登录数据采集任务界面,使用pico进行数据采集任务流程,以及数据核验。
采集员用户佩戴好pico,推荐使用蓝牙键鼠, 在pico上登录火山引擎账号,并进入火山引擎机器学习平台界面。
登录机器学习平台界面后,进入数据采集任务列表,请用户确认选择的资源和地区无误,采集员应当在任务列表看到管理员部署的任务。
图5. 采集员视角下的数据采集任务列表
单击任务列表中的某一个具体任务,进入任务详情页后,点击右上角的开启任务。
采集员点击接入 VR按钮,跳转至设备连接页面;点击页面内Connect,即可进入仿真环境。
若首次进入系统,将自动进入房间标定界面,需按照页面指引完成房间标定;若已完成历史标定,可直接跳过标定流程。后续如需重新调整房间标定参数,可在 PICO 设备系统设置中,自行进入房间标定功能重新配置。
图6. 仿真环境示意图
进入仿真环境后,采集员可查看操控面板,需先确认面板status状态为connected,满足就绪条件后方可启动任务。其中countdown为点击 Play 后的任务进入倒计时,可通过面板加减按键自定义调整倒计时时长。面板各功能按钮说明如下:
图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.)找到视频预览文件夹。进入文件夹后即可预览录制的采集任务视频。
参考文档:https://developer-cn.picoxr.com/document/unreal/input-mappings/
图10. pico手柄按键示意图
按键A与扳机键为确认,按键B为返回键,Home键返回主菜单,隐藏所有窗口或呼出所有窗口。
图11. pico头戴设备按键示意图
退出和唤醒
佩戴 PICO 头显进入遥操模式后,设备默认仅显示单透视画面,隐藏所有操作窗口。
Home 按键,即可一键唤出全部隐藏的功能窗口与操作菜单。Home 按键,即可快速退出全屏、退出当前遥操 / 串流占用画面,返回通用操作界面。截屏
截/录屏 按键,即可一键截屏;截/录屏按键,即可触发录屏,期间短按可以截屏,再次长按结束录屏。截屏与录屏结果保存路径位于 资源库 -> 文件 -> 视频/图片
投屏
请先保证pico设备和投屏的显示器位于同一局域网络下,随后点击pico状态栏,点击投屏,进入投屏指引。
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界面,即可解决。