记录触觉演示

触觉数据是大多数机器人学习数据集中缺失的模式。 本页解释了它的重要性、如何记录同步触觉+手臂+相机流、扩展数据集格式以及如何训练使用触觉输入的策略。

为什么触觉数据可以改善机器人学习

愿景讲述政策 在哪里 抓手是。 本体感觉告诉它 多远 手指闭合。 也不告诉它 抓握是否稳定。 仅基于视觉+联合数据训练的策略必须学会间接推断抓取质量——从物体运动、臂力限制或推出期间的试错。 添加触觉传感可提供直接接触状态监督:该策略会在每次演示的每个时间步接收一个真实信号,区分安全抓握和容易滑倒的抓握。 这对于视觉抓取质量估计不可靠的可变形、透明或大小可变的物体尤其有影响。

同步录音的硬件设置

完整的多模式记录装置需要三个硬件层,全部同步到一个公共时钟:

  1. 机械臂 — 通过 USB 或以太网以 100–500 Hz 的频率提供关节位置、速度和末端执行器姿势。 使用arm SDK的时间戳API(而不是系统时间)来获取硬件标记的关节状态。
  2. Paxini Gen3 传感器 — 插入安装在机器人手腕上的供电 USB 集线器。 每个帧由主机 PC 在 USB 中断时间标记(纳秒分辨率,<0.5 毫秒抖动)。
  3. 相机 — 一台腕式摄像头(可选:一台头顶摄像头)。 使用具有硬件触发同步功能的 USB 或 GigE 相机,或具有已知延迟的软件触发相机。 以 30–60 fps 录制。

所有三个源都使用相同的单调主机时钟写入时间戳。 平台SDK 多源记录器 使用时间戳插值在后处理时对齐帧。

# Complete synchronized recording session 从 paxini.sync 导入 MultiSourceRecorder 记录器=多源记录器( 手臂=手臂接口, 传感器=paxini.Sensor(), 相机=相机接口, 输出目录=“./demo_recordings/”, Episode_prefix =“掌握地点” ) recorder.start_episode() # ... perform the manipulation demo ... recorder.end_episode() # saves episode_000.hdf5

数据集格式 - 扩展 LeRobot 模式

Paxini Gen3 数据收集管道通过额外的触觉通道扩展了标准 LeRobot HDF5 数据集格式。 现有的乐机器人工具(数据加载、可视化、策略训练)保持完全兼容——新密钥会被不使用它们的管道忽略。

HDF5 密钥 形状 来源
观察状态(T,7)手臂关节位置+夹具宽度
观察.图像.手腕(长、高、宽、3)腕式摄像头(uint8 RGB)
行动(T,7)目标关节位置+夹具命令
观察.触觉.压力图(时间、8、8)Paxini Gen3 压力阵列(kPa,float32)
观察.触觉.total_force_n(T,)每帧总法向力(牛顿)
观察.触觉.接触(T,)每帧布尔接触标志
观察.触觉.contact_centroid(T,2)每帧接触质心(行、列)
元/timestamps_ns(T,)所有通道的纳秒时间戳

新的触觉按键突出显示。 所有其他按键均遵循标准 LeRobot 架构。

触觉数据质量检查表

每次训练前运行基线校准 称呼 sensor.calibrate() 夹具打开并卸载。 这可以消除手指自接触和电缆应力。 如果手臂明显重新定位,请重新校准。
验证接触事件与视频是否一致 在收集完整数据集之前,请在数据可视化工具中查看 5 个片段。 这 in_contact 上升沿应与相机馈送中指尖与物体接触的可见时刻一致。 滞后 >20 毫秒表示存在时间戳对齐问题。
涵盖演示中的全部力量范围 旨在记录轻度、中度和牢固握力水平的握力。 如果您的所有演示都使用最大夹持力,则该策略将不会学习调节接触压力。 改变不同情节中的物体重量和依从性。
从训练数据中标记并排除滑动事件 物体在抓握过程中滑落但演示继续取得成功结果的情节包含相互冲突的监督信号。 使用 SDK 的 paxini.annotate.flag_slip_events(episode) 自动标记这些内容以供审阅。
检查传感器饱和度 如果 pressure_map.max() 在任何情况下达到 600 kPa,传感器就会饱和。 减少抓手力或使用手掌变体(每个紫杉醇的峰值压力较低)以进行较重的抓握。

通过触觉输入进行政策培训

要将触觉添加为 ACT 或扩散策略中的观察方式,请扩展观察配置以包含压力图或聚合标量 (总力n)。 压力图提供完整的空间信息,但每个传感器每帧增加 64 个浮点; 标量更容易集成并且足以完成二进制掌握质量任务。

# ACT config snippet — add tactile to observation space 观察键: - 观察.状态 # joint positions - 观察.图像.手腕 # camera - 观察.触觉.total_force_n # scalar - 观察.触觉.压力图 # optional: full map # Normalize tactile observations 触觉归一化: 总力n:{平均值:2.5,标准差:1.8} 压力图:{平均值:12.0,标准差:45.0} # kPa statistics from your dataset

有关完整的训练演练(包括如何根据记录的数据集计算归一化统计数据并根据仅视觉基线进行评估),请参阅 学习路径第 5 单元.

有关灵巧手数据收集策略的更广泛背景,请参阅 灵巧双手指南.