TacRich-Manip
收藏资源简介:
TacRich-Manip LeRobot v3 是一个多任务机器人操作数据集,专注于基于夹爪的接触丰富操作。该数据集包含 655 个轨迹片段(episodes),共 617,565 帧,总时长约 4.29 小时,以 40 Hz 的标称速率采集。数据采用 LeRobot v3 格式存储,包含 8 个任务标签,分别对应两类采集方法:遥操作(teleoperation)和 UMI(Universal Manipulation Interface)。遥操作数据使用机器人基座坐标系下的绝对指令,而 UMI 数据使用局部 TCP 坐标系,两者动作语义不同,训练时需显式适配。传感器模态包括:三路 RGB 摄像头(前、侧、鱼眼,分辨率 480×640,MP4 AV1 编码)、前视深度图(16-bit PNG,毫米单位)、触觉传感器(左右手指,2×32×58 校准响应)、关节位置(7 维,度)、末端执行器位姿(7 维,位置+四元数)、夹爪距离(1 维,毫米)以及多种时间戳。任务涵盖:循环立瓶(两个版本)、抓取物体(四种食物)、插销、放置钢板(UMI 采集)以及多个测试任务(如钢勺排列、倒水、擦黑板等)。数据发布为 Apache 2.0 许可证,适用于机器人模仿学习、多模态/触觉表示学习、接触丰富操作、同步研究和格式转换等场景。
TacRich-Manip LeRobot v3 is a multi-task robot manipulation dataset focusing on contact-rich manipulation with grippers. It contains 655 episodes, 617,565 frames, total duration of approximately 4.29 hours, collected at a nominal rate of 40 Hz. The data is stored in LeRobot v3 format, with 8 task labels corresponding to two collection methods: teleoperation and UMI (Universal Manipulation Interface). Teleoperation data uses absolute commands in the robot base coordinate system, while UMI data uses the local TCP coordinate system, requiring explicit adaptation during training. Sensor modalities include: three RGB cameras (front, side, fisheye, resolution 480×640, MP4 AV1 encoding), front depth image (16-bit PNG, in millimeters), tactile sensors (left and right fingers, 2×32×58 calibrated response), joint positions (7-dim, in degrees), end-effector pose (7-dim, position + quaternion), gripper distance (1-dim, in millimeters), and various timestamps. Tasks cover: bottle standing loop (two versions), grasping objects (four types of food), peg insertion, place steel plate (UMI collected), and several test tasks (e.g., steel spoon arrangement, pouring water, wiping blackboard, etc.). The dataset is released under Apache 2.0 license, suitable for robot imitation learning, multimodal/tactile representation learning, contact-rich manipulation, synchronization research, and format conversion.
TacRich-Manip LeRobot v3——多任务触觉操作数据集
数据集概览
TacRich-Manip LeRobot v3是一个多模态真实机器人轨迹数据集,专门用于基于夹爪的接触丰富操作任务。数据集采用标准LeRobot v3格式发布,包含655个轨迹片段、617,565帧数据,总时长约4.29小时,标称采样频率为40 Hz,涵盖8个任务标签。
| 属性 | 值 |
|---|---|
| 仓库 | Tachintech/TacRich-Manip |
| 采集方法 | 多方法(遥操作 + UMI) |
| 机器人 | rm75b-pika-tachin |
| 轨迹片段数 | 655 |
| 总帧数 | 617,565 |
| 时长 | 4.29小时 @ 40 Hz |
| 任务标签数 | 8 |
| LeRobot格式 | v3.0 |
| 许可证 | Apache-2.0 |
任务分类与采集方法
数据集包含两种采集方法:遥操作和UMI。两种方法在状态/动作语义上存在显著差异,训练时不可混用。
| 逻辑任务 | 采集方法 | 片段数 | 帧数 | 时长(小时) | 发布标签数 |
|---|---|---|---|---|---|
cyclically_standup_bottle |
遥操作 | 181 | 133,682 | 0.93 | 1 |
cyclically_standup_bottle_version2 |
遥操作 | 250 | 219,107 | 1.52 | 1 |
grasp_objects |
遥操作 | 47 | 69,311 | 0.48 | 4 |
insert_peg_cylinder |
遥操作 | 79 | 109,073 | 0.76 | 1 |
set_the_steel_plate |
UMI | 98 | 86,392 | 0.60 | 1 |
- 遥操作任务:动作均为机器人基座坐标系中的绝对机器人命令。
- UMI任务:使用片段局部TCP坐标系和下一观测动作目标,其关节通道零填充,不得视为真实测量的机器人关节。
测试数据来源
10个小规模测试录音被统一归入teleoperation/test类别,并在meta/task_sources.parquet中保留来源级溯源信息:
| 测试来源 | 片段数 | 帧数 | 时长(小时) |
|---|---|---|---|
test-cyclically_arrange_steel_spoon |
3 | 25,025 | 0.174 |
test-cyclically_standup_bottle |
10 | 71,320 | 0.495 |
test-dining-table-arrangement |
9 | 69,922 | 0.486 |
test-grab_fruit |
5 | 20,129 | 0.140 |
test-pour_water |
3 | 10,330 | 0.072 |
test-set_the_tableware-version1 |
3 | 3,639 | 0.025 |
test-set_the_tableware-version2 |
4 | 7,682 | 0.053 |
test-stand_up_objects |
11 | 47,767 | 0.332 |
test-wipe_the_blackboard |
10 | 8,432 | 0.059 |
test-write |
1 | 4,830 | 0.034 |
| 测试总计 | 59 | 269,076 | 1.869 |
发布的任务标签
meta/tasks.parquet中存储的权威任务标签如下:
umi/set_the_steel_plateteleoperation/grasp_objects:return_yellow_cake_roll_to_plateteleoperation/grasp_objects:return_banana_piece_to_plateteleoperation/grasp_objects:return_croissant_to_plateteleoperation/grasp_objects:return_avocado_to_plateteleoperation/insert_peg_cylinderteleoperation/cyclically_standup_bottleteleoperation/cyclically_standup_bottle_version2
注:抓取任务的对象级标签仅包含4个(牛角包、香蕉块、黄色蛋糕卷、牛油果);钢板上料任务的5个主阶段标签分别对应放置钢板于桌面、放置黄色垫子、将板倚靠垫子、将板放回支架、复位机器人。接近/抓取/搬运/释放等子阶段边界仅作为溯源注释,不单独发布为任务标签。
特征列表
视觉与触觉观测
| 键 | 逻辑类型/存储 | 形状 | 内容描述 |
|---|---|---|---|
observation.images.cam_front |
MP4 AV1视频 | [480,640,3] |
前视RGB,HWC,当前帧 |
observation.images.cam_side |
MP4 AV1视频 | [480,640,3] |
侧视RGB,HWC,当前帧 |
observation.images.cam_fisheye |
MP4 AV1视频 | [480,640,3] |
夹爪鱼眼RGB,HWC,当前帧 |
observation.depth.cam_front |
16-bit PNG图像 | [480,640,1] |
前视深度,uint16毫米,无损存储 |
observation.tactile |
float32 | [2,32,58] |
左/右手指的触觉传感器行/列响应,为校准响应值而非SI力 |
状态与动作向量
| 键 | 形状 | 内容 |
|---|---|---|
observation.joint_position |
[7] |
机器人7关节位置(度),UMI任务零填充 |
observation.ee_pose |
[7] |
末端位置[x,y,z](米)+ 单位四元数[qx,qy,qz,qw] |
observation.gripper_distance |
[1] |
当前夹爪开度(毫米) |
observation.state |
[15] |
关节7 + 法兰位置3 + 四元数4 + 夹爪开度1 |
observation.state_gripper |
[10] |
夹爪尖端位置3 + 旋转6D + 夹爪开度1 |
action |
[8] |
绝对目标位置3 + 四元数4 + 目标夹爪开度1 |
action_gripper |
[10] |
目标尖端位置3 + 旋转6D + 目标夹爪开度1 |
时间戳与索引
| 键 | 描述 |
|---|---|
observation.timestamp |
对齐的源采集时间(Unix秒) |
observation.source_timestamp_tactile |
原始触觉采样时间 |
observation.source_timestamp_proprio |
原始机器人状态采样时间 |
observation.source_timestamp_vision |
原始前视相机采样时间 |
timestamp |
LeRobot片段相对时间,frame_index / 40秒 |
frame_index / episode_index / index |
帧内/片段内/全局索引(从0开始) |
task_index |
meta/tasks.parquet的外键 |
向量字段精确排序
observation.state[15]:[arm_j1..arm_j7, flange_x_m, flange_y_m, flange_z_m, flange_qx, flange_qy, flange_qz, flange_qw, gripper_distance_mm]action[8]:[target_flange_x_m, target_flange_y_m, target_flange_z_m, target_flange_qx, target_flange_qy, target_flange_qz, target_flange_qw, target_gripper_distance_mm]state_gripper[10]:[tip_x_m, tip_y_m, tip_z_m, R00, R10, R20, R01, R11, R21, gripper_distance_mm]action_gripper[10]:[target_tip_x_m, target_tip_y_m, target_tip_z_m, target_R00, target_R10, target_R20, target_R01, target_R11, target_R21, target_gripper_distance_mm]
旋转6D表示为3×3旋转矩阵的前两列展平为[R[:,0], R[:,1]],而非前两行。
坐标系说明
- 遥操作:
observation.state/action使用机器人基座坐标系中的法兰位姿;*_gripper键使用同一基座坐标系中的夹爪尖端位姿。 - 固定变换:从法兰到夹爪尖端的变换为
p_base_gripper = p_base_flange + R_base_flange @ [0,0,0.2]米,R_base_gripper = R_base_flange @ Rz(+40°)。 - UMI:每个TCP位姿在当前片段的第一个有效TCP坐标系中表达,动作是下一观测到的局部TCP位姿。切勿混用两种通道。
加载与可视化
bash
安装依赖
python -m pip install "lerobot>=0.5" matplotlib numpy
检查所有键及运行时形状
python examples/load_lerobot_dataset.py --repo-id Tachintech/TacRich-Manip --episode-index 0
渲染前视/侧视/鱼眼RGB、无损uint16深度及双触觉图
python examples/visualize_episode.py --repo-id Tachintech/TacRich-Manip --episode-index 0 --frame-index 0 --output episode0_frame0.png
注意:meta/stats.json中的深度统计值按三通道归一化[0,1]图像统计记录,不是公制毫米统计值,不得用于归一化uint16深度。存储的PNG值和提供的可视化工具保持精确。
文件结构与元数据
text README.md, LICENSE, CITATION.cff, AUTHORS.md docs/DATASET_SCHEMA.md examples/load_lerobot_dataset.py examples/visualize_episode.py meta/info.json # 权威特征/路径声明 meta/stats.json # 全局统计 meta/tasks.parquet # 任务文本到ID的映射 meta/task_sources.parquet # 物理源目录溯源 meta/episodes/chunk-/file-.parquet # 片段到帧/视频范围映射 data/chunk-/file-.parquet # 帧数据 videos/<camera-key>/chunk-/file-.mp4 # 视频数据
质量、溯源与局限
- 转换校验:检查了必需字段、形状、有限位姿值、单位四元数、任务/片段计数及所有元数据引用的分片。
- 动作来源:遥操作动作仅来自迁移的绝对
arm_target_*列;原始action_delta_*仅作溯源,不参与转换。动作为时刻t的命令,由于伺服延迟,不期望等于下一测量状态。 - 数据压缩:RGB视频为有损AV1;深度和低维字段除文档中说明的float32转换外均无损。
- 异步流:传感器流异步,应使用源时间戳衡量年龄或对齐,而非假设同时曝光。
- 触觉值:为校准传感器响应,未经单独力校准不代表牛顿力。
- 真实轨迹:可能包含遮挡、光照变化、接触瞬态、操作者差异和任务失败。安全关键使用前请审查片段。
预期用途与安全
预期用途包括:机器人模仿学习、多模态/触觉表征学习、接触丰富操作、同步研究、可复现格式转换。该数据集不构成安全控制器或部署保证。在任何真实世界执行前,请在目标机器人上验证工作区限制、动作缩放、坐标系和急停行为。
引用
bibtex @dataset{tacrich_manip_multi-task_2026, author = {{Qingzhu Robotics, TacRich-Manip Dataset Team}}, title = {{TacRich-Manip LeRobot v3: multiple tasks}}, year = {2026}, version = {0.2.0}, url = {https://huggingface.co/datasets/Tachintech/TacRich-Manip}, note = {Please also report the immutable Hub commit revision used.} }
格式参考




