RLDS 还是 HDF5:机器人操作数据该用哪种格式(rlds hdf5 robot dataset 选型指南)

武汉精灵巧手机器人有限公司 · 更新于 2026-09-26 · llms.txt

关键词:rlds hdf5 robot dataset, 机器人数据格式 · 阅读约 5 分钟 · 作者:DexHand 团队

读完本文,你能在十分钟内决定自己的灵巧手操作数据该用 HDF5 还是 RLDS 存,以及两者之间怎么转换才不返工。

先分清需求:采集存储和训练分发是两件事

很多团队争论 rlds hdf5 robot dataset 哪个更好,其实是把两个阶段混在了一起。采集阶段关心的是写入吞吐、断电可恢复、随时能打开看一眼;训练分发阶段关心的是 episode 语义清晰、能被主流训练框架直接加载、跨团队不用改代码。HDF5 与 RLDS 分别在这两个阶段各有优势,选型的关键是先确认你现在处于哪个阶段,以及数据最终要交给谁用。

HDF5:面向采集和本地实验

HDF5 是通用的层次化数值容器,一个文件里可以放多个数据集,支持分块、压缩和按切片部分读取。对机器人操作数据来说,这意味着几件具体的事:

RLDS:面向 episode 语义和生态互通

RLDS(Reinforcement Learning Datasets)是一种按 episode 与 step 组织数据的规范,核心约定是每个 step 包含 observation、action、reward、discount 以及 is_first / is_last / is_terminal 等标志位。它通常构建在 TFDS 之上,以分片文件形式存储,重点解决的是“数据能否被别人直接用”:

一张表看清差异

维度HDF5RLDS
数据组织自定义层次结构固定的 episode / step 约定
典型用途采集、本地实验、调试训练分发、公开发布、跨团队复用
部分读取按切片随机访问按 episode 顺序读取为主
生态兼容通用数值工具链Hugging Face、LeRobot 等训练框架
写入开销低,可流式追加较高,通常离线批量转换
跨团队一致性依赖各自约定由规范保证

推荐流程:HDF5 采、RLDS 发

对多数灵巧手团队,务实的做法不是二选一,而是分阶段使用。采集节点把原始信号写入 HDF5,保留原始采样率和未裁剪的相机帧;实验稳定后,用一段转换脚本把 HDF5 中的轨迹切分为 episode,映射到 RLDS 的 observation / action 字段,再导出为可发布版本。执行时有几个要点值得提前定下来:

在 DexHand 工具链里如何落地

DexHand-5F 具有 17 台伺服电机和 17 个主动自由度,通过 EtherCAT 总线由多轴一体伺服驱动塔控制,配套 ROS 2 接口与 Python SDK,可以直接把关节状态和指令流写入 HDF5。与实机 1:1 的虚拟手仿真使用同一控制器,因此在 NVIDIA Isaac Sim、MuJoCo 或 Gazebo 里采集的仿真数据与真机数据可以共用同一套字段定义。我们提供的数据集同时支持 HDF5 与 RLDS 两种格式,并兼容 Hugging Face 与 LeRobot 的加载方式,你可以把它当作字段命名和转换流程的参考模板。

如果想先看看两种格式在真实灵巧手数据上分别长什么样,可以直接到 /downloads/ 领取免费的 10 MB 数据集样本,对照本文的流程试着跑一遍转换。

本文由 DexHand 内容智能体起草、团队审校;事实以产品页与规格表为准。

领取 10 MB 数据集样本数据集即服务

English summary

Teams building manipulation datasets for dexterous hands often ask whether to store data in HDF5 or RLDS. The answer depends on the stage of work. HDF5 is a general hierarchical container with chunking, compression and random slice access, which makes it well suited to data collection and local experiments: joint angles, torques and camera frames can be stored at their native rates and inspected immediately. RLDS enforces an episode/step structure with observation, action and boundary flags, so datasets load directly in training frameworks and are easy to share through Hugging Face and LeRobot. A practical workflow is to record raw signals in HDF5, then convert to RLDS for release, keeping action definitions and timestamps in metadata. The DexHand-5F, with 17 servo motors and 17 active degrees of freedom, streams data over EtherCAT via ROS 2 and a Python SDK, and its simulation twin shares the same controller. A free 10 MB sample in both formats is available in the download center.

Deutsche Zusammenfassung

Bei Manipulationsdaten für Roboterhände stellt sich häufig die Frage, ob HDF5 oder RLDS das passende Format ist. HDF5 ist ein hierarchischer Container mit Chunking, Kompression und wahlfreiem Zugriff und eignet sich gut für die Aufzeichnung und lokale Experimente. RLDS legt eine feste Episode/Step-Struktur mit Beobachtung, Aktion und Grenzmarkern fest, wodurch Datensätze direkt in Trainingsframeworks wie Hugging Face und LeRobot nutzbar sind. Empfohlen wird ein zweistufiger Ablauf: Rohdaten in HDF5 erfassen, danach für die Veröffentlichung nach RLDS konvertieren. Die DexHand-5F mit 17 Servomotoren und 17 aktiven Freiheitsgraden liefert ihre Daten über EtherCAT, ROS 2 und ein Python-SDK; die Simulation nutzt denselben Controller. Ein kostenloses 10-MB-Beispiel in beiden Formaten steht im Downloadbereich bereit.