遇见数据集

fr3-action-space-case-study

收藏
Hugging Face2026-08-03 更新2026-08-03 收录
官方服务:

资源简介:

FR3动作空间案例研究数据集是一个小型的、具有明确教育意义的遥操作数据集。每个帧都包含跟随者的实际关节轨迹和GELLO领导者的命令,从而直观展示两者之间的选择如何决定部署的策略是平滑移动还是出现卡顿。数据集包含4个episodes,由Franka Research 3机器人执行“拿起天蓝色杯子并放在黄色碗里”的任务,包括关节状态、命令状态、动作、末端执行器动作、摄像头图像等特征。该数据集旨在说明,如果动作记录为跟随者的实际轨迹而非领导者命令,会导致策略部署时出现延迟、速度降低和周期性停顿。

The FR3 Action Space Case Study Dataset is a small, clearly educational teleoperation dataset. Each frame contains the actual joint trajectory of the follower and the commands from the GELLO leader, which intuitively demonstrates how the choice between the two determines whether the deployed strategy moves smoothly or encounters stutters. The dataset includes 4 episodes, in which the Franka Research 3 robot performs the task of "picking up a sky-blue cup and placing it in a yellow bowl", with features including joint states, command states, actions, end-effector movements, and camera images. This dataset is designed to illustrate that recording actions as the follower's actual trajectory rather than the leader's commands will lead to delays, reduced speed, and periodic pauses during strategy deployment.

提供机构:
knu-physical-ai
创建时间:
2026-08-03
原始信息汇总

FR3 动作空间案例研究数据集

数据集概述

这是一个刻意设计用于教学目的的小规模遥操作数据集,记录了 Franka Research 3(FR3)机械臂在遥操作任务中的动作数据。其核心设计特点是每个数据帧同时包含了执行端(follower)实际执行的关节轨迹和 GELLO 主手(leader)的指令信号,使用户能够直接对比两种动作记录方式对策略部署效果的影响。

核心问题与设计动机

该数据集不用于训练实际策略(仅4个episode),而是为了验证一个关键设计决策的影响:

记录的 action 应该是遥操作员发出的指令,还是机器人实际执行的动作

根据 ACT/ALOHA 论文(Zhao et al.),正确做法是使用 leader 关节位置作为 action,因为力的大小隐含在 leader 与 follower 的差值中。本数据集的采集流程曾偏离了这一规范,该数据集即为该错误带来的代价的真实记录。

数据规格

项目 详情
机器人 Franka Research 3 (FR3),7自由度 + Franka Hand
遥操作器 GELLO leader arm
任务 拾取天蓝色杯子并放入黄色碗中
Episodes / 帧数 4 / 634(分别为 219, 108, 141, 166)
采样率 20 Hz
相机 agent(RealSense D455)+ wrist(D405),256×256 RGB
数据大小 约 3 MB

特征说明

特征 形状 实际含义
observation.state (8,) Follower 实测关节位置(7 rad)+ 实测夹爪
observation.commanded_state (8,) GELLO leader 指令(ACT 论文建议使用的信号)
action (8,) Follower 实际到达的下一状态,即 observation.state[t+1]
action_ee (7,) 从 leader 指令派生的 EE 坐标系增量
observation.images.agent 256×256×3 第三人称视角
observation.images.wrist 256×256×3 手腕视角

关键关系验证:

  • action[t] == observation.state[t+1] 完全相等(最大差值 = 0.000000)
  • action[t]observation.commanded_state[t] 最大差值:0.144–0.253 rad
  • 夹爪列为例外:action[:,7] == commanded_gripper 完全一致

核心发现(三个经验教训)

1. 动作超前不足

action 仅超前状态 1 个时间步(tick),而 commanded_state 携带了实际驱动手臂前进的约 0.2 rad 超前量。Follower 相对 leader 滞后约 4 个 tick(200 ms),|cmd − state| 中位数为 0.006 rad,最大 0.28 rad。

2. 双重滤波效应

采集时 action 是滤波器输出,部署时却成为滤波器输入,相当于二次滤波:

  • 额外延迟:2 ticks(100 ms)
  • 峰值速度:仅为演示的 73–84%
  • 总行程:100–102%(能到达但迟到)
  • 方向反转:更少而非更多(临界阻尼滤波不会引起振荡)

3. 周期性停顿且方向总是向后

动作分块(action-chunking)策略在 chunk 边界出现系统性向后的不连续。即使在完美策略(无学习误差)的闭环模拟中:

  • 每个边界都会发生回归,约 2.5 步(可高达 4 步)
  • 缩短 chunk 会使问题恶化:H=5 时运行速度仅为演示的 50%
  • 时间集成(temporal ensembling)只能掩盖问题,不能修复根本原因

推荐的正确做法

应记录 leader 指令(即 observation.commanded_state),而非实际到达状态。在相同滤波器下重放 leader 指令可 100% 复现演示轨迹,中位误差仅 0.0020 rad。该修复已在当前采集器中实施,旧行为已删除,后续数据集将统一使用新规范。

action_ee 注意事项

该特征编码的是“指令减去实际值”的差值,保留了操作者的超前信息,不存在“无法超前”的问题。但需要注意:以 ACTION_POS_MAX = 0.05 m 计算,1.8–16.7% 的帧发生饱和,最高饱和率出现在接触阶段(指令与实际偏差最大处)。若要依赖该字段,建议将常数提高到 ≥0.1 m。

数据集的明确警告

⚠️ 本数据集是修复前采集惯例的冻结记录,action 字段使用了已废弃的约定。请勿将其 action 字段作为新数据采集的模板。

局限性

  • 仅 4 个 episode,不适合作为训练集,不建议用于基准测试
  • 单一任务、单一场景布局
  • action 刻意使用废弃约定(这正是数据集的目的)
  • 具体数值(2-tick 延迟、约 2 步回归)依赖滤波器参数,但机制本身具有普遍性

许可与工具链

  • 许可证:Apache 2.0
  • 任务类别:机器人(Robotics)
  • 标签:LeRobot, Franka, FR3, 遥操作, 模仿学习, 动作分块, 教育
  • 数据格式:Parquet 文件
  • 采集工具:GELLO + libfranka
  • 转换工具:LeRobot v3.0
二维码
社区交流群
二维码
科研交流群
商业服务