franka-demos-compressed
收藏资源简介:
该数据集为 Franka Emika 机器人遥操作演示数据集,包含通过 ROS 2 bag 记录的原始数据及同步转换为 HDF5 格式的版本。数据集采用 Apache-2.0 许可证,适用于机器人、模仿学习、遥操作和 RGB-D 视觉等领域。RGB 图像以原始 JPEG 字节存储,极大减小了数据体积(约为解码版本的 1/4)。深度、状态和时间戳与解码版本完全相同。数据目录结构包含 raw/(原始 ROS 2 bag,含 .db3.zstd 文件、metadata.yaml 和 task.txt)和 h5/(转换后的同步 HDF5 文件)。数据集包含两个任务:button_order(52 个 episode,提示:按视频中显示的相同顺序按下按钮)和 pick3(60 个 episode,提示:拾取 3 次)。H5 文件中每个同步样本对应一个组(frame_000000 至 frame_NNNNNN),内部包含:相机数据(cam_base 和 cam_hand)的彩色图像、对齐深度图像(uint16,720x1280)及相机信息;Franka 机器人状态(当前位姿、测量关节状态、期望关节状态、外部关节扭矩、外部 wrench、期望末端执行器 twist、最后期望位姿);命令(目标位姿位置、目标位姿朝向、目标关节);夹爪和遥操作数据(Franka 夹爪关节状态、SpaceNav 摇杆按钮);时间戳(原始时间戳、相机时间戳、其他时间戳)以及同步质量信息(各主题相对于参考 RGB 流的偏移、陈旧主题列表、深度陈旧标志)。帧同步以 cam_base 彩色流为参考,全速率进行,非参考主题在 ±100 ms 内匹配,超出时尽力填充(最多 1 秒)并标记为陈旧,确保不因单一流丢失而丢弃良好 RGB 帧。每个 episode 的样本 0 被丢弃。转换脚本为 rosbag_to_h5_simple.py,并附有 Python 加载示例。
This dataset is a Franka Emika robot teleoperation demonstration dataset, containing raw data recorded via ROS 2 bags and a synchronized version converted to HDF5 format. The dataset is licensed under Apache-2.0 and is suitable for robotics, imitation learning, teleoperation, and RGB-D vision. RGB images are stored as raw JPEG bytes, significantly reducing data volume (approximately 1/4 of the decoded version). Depth, state, and timestamps are identical to the decoded version. The data directory structure includes raw/ (original ROS 2 bags with .db3.zstd files, metadata.yaml, and task.txt) and h5/ (converted synchronized HDF5 files). The dataset contains two tasks: button_order (52 episodes, instruction: press buttons in the same order as shown in the video) and pick3 (60 episodes, instruction: pick up three times). In the HDF5 file, each synchronized sample corresponds to a group (frame_000000 to frame_NNNNNN), containing: camera data (cam_base and cam_hand) with color images, aligned depth images (uint16, 720x1280), and camera info; Franka robot state (current pose, measured joint state, desired joint state, external joint torque, external wrench, desired end-effector twist, last desired pose); commands (target pose position, target pose orientation, target joints); gripper and teleoperation data (Franka gripper joint state, SpaceNav joystick buttons); timestamps (original timestamp, camera timestamp, other timestamps); and synchronization quality information (offset of each topic relative to reference RGB stream, list of stale topics, depth stale flag). Frame synchronization uses the cam_base color stream as reference at full rate, matching non-reference topics within ±100 ms, and filling stale data (up to 1 second) when out of range, ensuring good RGB frames are not discarded due to a single stream loss. Sample 0 of each episode is discarded. The conversion script is rosbag_to_h5_simple.py, and a Python loading example is provided.
数据集概述:franka-demos-compressed
基本信息
- 许可证:Apache-2.0
- 任务类型:机器人学(Robotics)
- 标签:机器人学、Franka、模仿学习、远程操作、RGBD
- 数据地址:https://huggingface.co/datasets/fm-dev/franka-demos-compressed
数据内容
Franka Emika 机器人远程操作演示数据集,以 ROS 2 bag 格式记录,并提供同步转换后的 HDF5 格式版本。
数据特色
- RGB 压缩存储:RGB 图像以原始 JPEG 字节存储(编码属性为
jpeg),相较于未压缩变体(fm-dev/franka-demos)大约缩小 4 倍。 - 深度、状态和时间戳数据:与未压缩版本逐字节一致。
目录结构
raw/<task>/<operator>/<episode>/ # 原始 ROS 2 bags(.db3.zstd)+ metadata.yaml + task.txt h5/<task>/<episode>.h5 # 转换后的时间同步 HDF5 文件
任务统计
| 任务 | 采集次数 | 提示词 |
|---|---|---|
button_order |
52 | 按照视频中所示的顺序按下按钮 |
pick3 |
60 | 拾取 3 次 |
HDF5 文件结构
每个同步样本对应一个组(frame_000000 至 frame_NNNNNN),每个组包含:
相机数据(cam_base、cam_hand):
- 彩色图像
aligned_depth_to_color(uint16 格式,720x1280)- 对应的
camera_info
Franka 状态数据:
current_pose(位置/方向)measured_joint_states、desired_joint_statesexternal_joint_torquesexternal_wrench_in_base_frame、external_wrench_in_stiffness_framedesired_end_effector_twist、last_desired_pose
指令数据:
_target_pose_position、_target_pose_orientation、_target_joint
夹爪/远程操作数据:
_franka_gripper_joint_states、_spacenav_joy_buttons
时间信息:
original_timestamps、camera_timestamps、other_timestampssync_quality组(记录各主题相对参考 RGB 流的偏移量)stale_topics列表和depth_stale标志
同步机制
- 帧同步于
cam_base彩色流,全速率无抽稀。 - 非参考主题在 ±100 ms 内匹配,超出范围则尽力从最近消息(上限 1 秒)填补,并将该帧标记为失效。
- 每集样本 0 被丢弃。
处理工具
使用 rosbag_to_h5_simple.py 转换。
代码示例
python import cv2, h5py, numpy as np with h5py.File("h5/pick3/pick3_20260826_205000_123.h5", "r") as f: g = f["frame_000000"] rgb = cv2.imdecode(g["_cam_base_camera_color_image_raw_compressed"][:], cv2.IMREAD_COLOR) depth = g["_cam_base_camera_aligned_depth_to_color_image_raw_compressedDepth"][:]




