跳到主要内容

遥操数采及数据转换

本页面向傅利叶 GR3 系列机器人的遥操作数据采集及后续数据转换流程,涵盖从设备准备、外骨骼遥操、数采平台使用到异常处理的完整操作指引。

1. 概述​

遥操数采系统是傅利叶 GR3 系列机器人的本地数据采集方案。系统通过外骨骼设备和客户端应用实现机器人全身无线遥操控制,并在遥操过程中实时采集动作数据、姿态数据、摄像头图像及深度数据,支持本地存储。系统无需依赖云端服务器,适用于工业、科研实验等对数据安全性和离线使用有要求的场景。

核心功能:

功能说明
低门槛操作"一键操作 + 状态引导"设计,外骨骼仅通过红/蓝功能键即可完成状态切换与采集启停,新手用户无需专业培训即可快速上手
全身遥操支持 GR3 系列全身控制,涵盖站立、行走、转向、蹲起、手臂动作等核心姿态,遥操响应延迟低,动作指令精准同步
无线连接基于局域网无线通信,摆脱有线束缚
多维度采集以用户控制的每条采集时机为单位,同步采集动作数据、姿态数据、摄像头图像及深度数据
可视化反馈实时展示遥操状态、采集状态、系统日志、机器人第一视角视频及第三视角姿态

2. 遥操前准备​

2.1 机器人准备​

  1. 将机器人吊起,双脚腾空约 20 cm
  2. 机器人电源和 NUC 开机,等待约 20 秒
  3. 拧开急停红色接合旋钮

2.2 设备拓扑​

设备连接方式
PC3(遥操主控电脑)连接电源;USB + HDMI 连接键盘、鼠标、显示器;USB 连接外骨骼设备;网线连接小米路由
NUC(机器人端)机器人开机后,通过背后拓展坞连接相机
小米路由网线直连 PC3;有线网络直连小米路由(可选局域网)

2.3 外骨骼穿戴​

  • 设备可根据使用者身高调节手臂组件长度,以适配整套外骨骼的整体长度
  • 遥操功能启动并规范穿戴外骨骼后,打开电脑监控软件,界面内的虚拟机器人将同步复刻使用者的肢体动作
  • 启动遥操模式前,必须校验遥操查看器内虚拟机器人姿态,确保其与实体机器人当前姿态完全匹配

外骨骼正确穿戴示意

姿态校验

启动遥操前务必完成虚拟机器人与实体机器人的姿态匹配校验,否则可能导致机器人异常动作。

3. 外骨骼遥操指南​

外骨骼按键示意

3.1 右手柄按键​

按键功能
红色第一次短按:进入遥操准备;第二次短按:控制机器人
后续短按:开始/结束录制;长按三秒:丢弃当前录制数据
蓝色短按退出遥操
黑色短按左转腰
白色短按右转腰
摇杆上:起身;下:下蹲;左:向左转;右:向右转
扳机手指开合

3.2 左手柄按键​

按键功能
蓝色短按向前弯腰
红色短按腰部起来
摇杆上:向前走;下:向后走;左:向左平移;右:向右平移
扳机手指开合

4. 数采平台使用​

4.1 检查状态​

在主控执行以下命令,看到下图所示输出即为成功(内含三条 ID,分别为 pc1、pc3、admin):

Bash
daemon-cli list p

daemon-cli 输出

4.2 打开数采平台​

使用谷歌浏览器,在地址栏输入 PC3 的 IP 地址或 127.0.0.1,即可打开数采单机版平台。

数采单机版平台

4.3 连接云平台​

  1. 点击右上角进入系统配置
  2. 依次填写"云端地址"、"站点 ID"、"机器人 ID"、"硬件版本号"
  3. 点击保存
  4. 右上角显示已连接即表示成功连接数采云平台

4.4 新建数采任务​

新建云端任务: 由数采云平台新建后直接派发到单机版平台,打开单机版平台点击刷新后即可在任务列表查看。

新建单机任务:

  1. 点击"新建采集任务"
  2. 填写任务描述,选择生效
  3. 点击确认生成单机任务

4.5 唤醒与关闭遥操​

唤醒遥操:

  1. 点击开始采集任务(如无采集任务,系统会自动生成一个单机版任务)
  2. 点击"唤醒遥操"按钮
  3. 遥操唤醒成功后自动跳转到监控界面,显示 idle 状态即表示成功

idle 状态指示

关闭遥操:

  1. 确认机器人为 disengaged 状态

disengaged 状态 2. 点击"关闭遥操"按钮 3. 遥操关闭成功后,外骨骼停止输出,监控画面停止

4.6 遥操查看器​

成功唤醒遥操后,点击遥操查看器可重新唤醒监控界面,查看机器人当前状态。

机器人缩略图示意

4.7 高级配置​

勾选"高级选项"后点击遥操高级配置,可调整以下参数:

配置项说明
遥操速度系数可选择三种预设速度系数,或根据熟练度自定义速度
手势调整自定义手势映射参数
恢复默认参数一键恢复所有配置为初始值
配置生效

更改配置后,需点击确认并重新唤醒遥操才会生效。

4.8 任务查询​

可根据任务的不同状态搜索已创建任务,点击"高级选项"可增加云端任务搜索状态。

4.9 数据管理​

查看采集信息​

查看背包硬盘剩余空间、未上传未删除的数据量、已上传未删除的数据量。

数据上传​

前置条件

小米路由需要连接互联网。

  1. 选择需要上传的任务,点击"编辑"
  2. 填写操作员、安全员,选择是否生效及是否自动上传
  3. 点击确认同步云端任务
  4. 同步云端任务 ID 后,数据将自动上传到云平台
  5. 开启"上传后删除"选项,数据上传后会自动清理本地文件
  6. 点击确认后等待上传完成

数据上传配置示意

删除本地数据​

  1. 选择需要删除的任务,点击"数据删除"
  2. 勾选需要删除的数据项
  3. 点击确认即可删除本地数据

4.10 数据下载​

方式操作
直连 PC3使用外接显示器连接 PC3,访问 /midea/fourier/s3data 路径查看/下载数据
通过云平台从数据云平台获取(具体操作请参考云平台相关文档)

5. 注意事项与异常处理​

5.1 安全注意事项​

操作安全
  • 遥操过程中请勿剧烈摆臂或突然松开手柄,以免对机器人本体或周围环境造成危险
  • 极限姿态会对机器人本体和环境造成危险,例如:蹲到最低时极限扭腰、蹲到最低持续长时间行走、蹲到最低提起重物等
  • 请勿边充电边在无保护状态下使用机器人——电池充满电的瞬间可能出现断电
  • 使用时请注意电池电量,电量降至最后一格时存在断电风险

5.2 退出遥操流程​

根据现场情况选择合适的方式退出遥操,优先级从高到低:

方式适用场景安全性操作流程
外骨骼安全退出外骨骼与两台 PC 正常连接最高:机器人可用算法保持站立站稳 → 右手蓝色按钮 → 进入"遥操唤醒"状态 → 吊起机器人 → 点击"关闭遥操"
强制关闭遥操外骨骼蓝色按键失效但 PC 仍连接较低:机器人短时靠电机默认蓄力保持姿态做好防摔保护 → 点击"关闭遥操"按钮 → 遥操关闭 → 吊起机器人
物理急停紧急情况或 PC 断连最低:电机瞬间断电,无法保持站立做好防摔保护 → 拍下背后红色急停按钮 → 吊起机器人 → 重启机器人和遥操客户端

5.3 数采软件获取不到 IP​

按以下顺序排查:

  1. 检查 PC1/PC3 是否已上电
  2. 检查小米路由是否正常工作
  3. 检查 NUC 中继是否已连接小米路由
  4. 尝试将 PC1/PC3 重新开关机

5.4 紧急状态处理​

发生紧急情况时,可通过以下任一方式立即关闭机器人:

  • 使用远程急停遥控器关闭机器人
  • 按下机器人腰部红色紧急急停按钮关闭机器人

6. 数据转换​

convert_parquet_to_lerobot.py 用于将机器人采集的原始 Parquet 数据集转换为标准 LeRobot Dataset 格式,支持状态与动作解析、图像解码与重采样、多模态时间戳对齐,输出可直接用于训练和仿真。

开源链接:fourier-lerobot/scripts/convert_parquet_to_lerobot.py

6.1 输入数据结构​

每个 Episode 目录需包含以下文件:

Text
episode_xxx/
├── metadata.json
├── observation.state.parquet
├── observation.base_state.parquet
├── action.parquet
├── action.base.parquet
└── observation.images.camera_top.parquet
文件关键字段说明
observation.state.parquettimestamp_utc、observation.state关节状态列表 [{"name": "...", "value": ...}]
action.parquettimestamp_utc、action动作列表 [{"name": "...", "value": ...}]
observation.images.camera_top.parquettimestamp_utc、observation.images.camera_topAVIF 编码图像字节流
metadata.jsonnotesEpisode 任务描述,可用于生成 task

6.2 核心模块​

模块功能
RobotConfig定义机器人关节、底盘和相机配置
StateConverter解析 state 和 base_state,输出 Tensor[N, StateDim]
ActionConverter解析 action 和 base_action,输出 Tensor[N, ActionDim]
VideoConverter解析 camera 图像,支持 resize 和正方形裁剪
DataConverter多模态数据时间戳同步、最近邻采样、Frame 构建

6.3 使用方法​

基础用法​

Bash
python convert_parquet_to_lerobot.py \
--raw-dir ./raw_data \
--repo-id user/gr3_dataset

指定任务名称​

Bash
python convert_parquet_to_lerobot.py \
--raw-dir ./raw_data \
--repo-id user/gr3_dataset \
--task "pick up cup"

指定视频尺寸​

Bash
python convert_parquet_to_lerobot.py \
--raw-dir ./raw_data \
--repo-id user/gr3_dataset \
--video-config 640x480

正方形裁剪​

Bash
python convert_parquet_to_lerobot.py \
--raw-dir ./raw_data \
--repo-id user/gr3_dataset \
--square-crop

多相机​

Bash
python convert_parquet_to_lerobot.py \
--raw-dir ./raw_data \
--repo-id user/gr3_dataset \
--camera top wrist left right

使用 Pose 模式​

Bash
python convert_parquet_to_lerobot.py \
--raw-dir ./raw_data \
--repo-id user/gr3_dataset \
--pose

默认不启用 --pose 时,state.pose 和 action.pose 会自动填零。

6.4 输出数据结构​

转换后生成目录:

Text
~/.cache/huggingface/lerobot/<repo-id>/
├── meta/
│ ├── episodes.jsonl
│ ├── info.json
│ └── stats.json
├── data/
│ ├── chunk-000/
│ └── ...
└── videos/
├── observation.images.top/
└── ...

Feature Schema:

FeatureShape说明
observation.state[33]19 关节 + 12 手关节 + 2 底盘状态
action[37]19 关节 + 12 手关节 + 6 底盘动作
observation.state.pose[30]18 pose + 12 手关节
action.pose[30]同上
observation.images.*[3, H, W]图像数据,H×W 可通过 --video-config 指定
next.done[1]True 表示 Episode 结束

6.5 数据处理流程​

  1. 解析各 Parquet 文件
  2. 时间戳同步与 30 Hz 重采样
  3. State / Action / Video 转换
  4. 构建 Frame
  5. 添加至 LeRobotDataset
  6. 保存 Episode 并编码视频
  7. 生成统计信息 stats.json
  8. 输出最终数据集

最后更新:2026-06-24