遇见数据集

andreaskoepf/dk1_duplo_in_box_2026-04-17

收藏
Hugging Face2026-04-17 更新2026-04-26 收录
官方服务:

资源简介:

--- license: apache-2.0 task_categories: - robotics tags: - LeRobot configs: - config_name: default data_files: data/*/*.parquet --- This dataset was created using [LeRobot](https://github.com/huggingface/lerobot). <a class="flex" href="https://huggingface.co/spaces/lerobot/visualize_dataset?path=andreaskoepf/dk1_duplo_in_box_2026-04-17"> <img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl.svg"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl-dark.svg"/> </a> ## Dataset Description Place Lego Duplo bricks in a container - **Robot:** TRLC DK1 bimanual (`bi_dk1_follower`) — 2× 6-DOF arms with grippers - **Task:** pick up the duplo bricks and place them in the container - **Episodes:** 101 - **Total frames:** 176,108 (48.9 min @ 60 fps) - **Avg episode length:** 29.1s - **License:** apache-2.0 ### Cameras | Camera | Resolution | Codec | FPS | |---|---|---|---| | `observation.images.head` | 640x360 | hevc | 60 | | `observation.images.left_wrist` | 640x360 | hevc | 60 | | `observation.images.right_wrist` | 640x360 | hevc | 60 | ### Observation Space - **`observation.state`**: float32[40] — left_joint_1.pos, left_joint_2.pos, left_joint_3.pos, left_joint_4.pos, left_joint_5.pos, left_joint_6.pos... (joint positions, velocities, torques for both arms + grippers) - **`observation.images.*`**: 3 camera streams ### Action Space - **`action`**: float32[14] — left_joint_1.pos, left_joint_2.pos, left_joint_3.pos, left_joint_4.pos, left_joint_5.pos, left_joint_6.pos... (joint position targets for both arms + grippers) ## Loading the Dataset ```python from lerobot.datasets.lerobot_dataset import LeRobotDataset dataset = LeRobotDataset("andreaskoepf/dk1_duplo_in_box_2026-04-17") # Access a frame frame = dataset[0] print(frame["observation.state"].shape) # torch.Size([40]) print(frame["action"].shape) # torch.Size([14]) print(frame["observation.images.head"].shape) # torch.Size([3, 720, 1280]) ``` ## Dataset Structure [meta/info.json](meta/info.json): ```json { "codebase_version": "v3.0", "robot_type": "bi_dk1_follower", "total_episodes": 101, "total_frames": 176108, "total_tasks": 1, "chunks_size": 1000, "data_files_size_in_mb": 23, "video_files_size_in_mb": 5276, "fps": 60, "splits": { "train": "0:101" }, "data_path": "data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet", "video_path": "videos/{video_key}/chunk-{chunk_index:03d}/file-{file_index:03d}.mp4", "features": { "action": { "dtype": "float32", "names": [ "left_joint_1.pos", "left_joint_2.pos", "left_joint_3.pos", "left_joint_4.pos", "left_joint_5.pos", "left_joint_6.pos", "left_gripper.pos", "right_joint_1.pos", "right_joint_2.pos", "right_joint_3.pos", "right_joint_4.pos", "right_joint_5.pos", "right_joint_6.pos", "right_gripper.pos" ], "shape": [ 14 ] }, "observation.state": { "dtype": "float32", "names": [ "left_joint_1.pos", "left_joint_2.pos", "left_joint_3.pos", "left_joint_4.pos", "left_joint_5.pos", "left_joint_6.pos", "left_gripper.pos", "right_joint_1.pos", "right_joint_2.pos", "right_joint_3.pos", "right_joint_4.pos", "right_joint_5.pos", "right_joint_6.pos", "right_gripper.pos", "left_joint_1.vel", "left_joint_2.vel", "left_joint_3.vel", "left_joint_4.vel", "left_joint_5.vel", "left_joint_6.vel", "right_joint_1.vel", "right_joint_2.vel", "right_joint_3.vel", "right_joint_4.vel", "right_joint_5.vel", "right_joint_6.vel", "left_joint_1.torque", "left_joint_2.torque", "left_joint_3.torque", "left_joint_4.torque", "left_joint_5.torque", "left_joint_6.torque", "left_gripper.torque", "right_joint_1.torque", "right_joint_2.torque", "right_joint_3.torque", "right_joint_4.torque", "right_joint_5.torque", "right_joint_6.torque", "right_gripper.torque" ], "shape": [ 40 ] }, "observation.images.head": { "dtype": "video", "shape": [ 360, 640, 3 ], "names": [ "height", "width", "channels" ], "info": { "video.height": 360, "video.width": 640, "video.codec": "hevc", "video.pix_fmt": "yuv420p", "video.is_depth_map": false, "video.fps": 60, "video.channels": 3, "has_audio": false } }, "observation.images.left_wrist": { "dtype": "video", "shape": [ 360, 640, 3 ], "names": [ "height", "width", "channels" ], "info": { "video.height": 360, "video.width": 640, "video.codec": "hevc", "video.pix_fmt": "yuv420p", "video.is_depth_map": false, "video.fps": 60, "video.channels": 3, "has_audio": false } }, "observation.images.right_wrist": { "dtype": "video", "shape": [ 360, 640, 3 ], "names": [ "height", "width", "channels" ], "info": { "video.height": 360, "video.width": 640, "video.codec": "hevc", "video.pix_fmt": "yuv420p", "video.is_depth_map": false, "video.fps": 60, "video.channels": 3, "has_audio": false } }, "timestamp": { "dtype": "float32", "shape": [ 1 ], "names": null }, "frame_index": { "dtype": "int64", "shape": [ 1 ], "names": null }, "episode_index": { "dtype": "int64", "shape": [ 1 ], "names": null }, "index": { "dtype": "int64", "shape": [ 1 ], "names": null }, "task_index": { "dtype": "int64", "shape": [ 1 ], "names": null } } } ``` ## Citation **BibTeX:** ```bibtex @misc{andreaskoepf_dk1_duplo_in_box_2026_04_17, title = {pick up the duplo bricks and place them in the container}, author = {The Robot Learning Company}, year = {2026}, publisher = {HuggingFace}, url = {https://huggingface.co/datasets/andreaskoepf/dk1_duplo_in_box_2026-04-17} } ```

许可证:Apache-2.0 任务类别: - 机器人学 标签: - LeRobot 配置项: - 配置名称:default 数据文件路径:data/*/*.parquet 本数据集基于[LeRobot](https://github.com/huggingface/lerobot)开发构建。 <a href="https://huggingface.co/spaces/lerobot/visualize_dataset?path=andreaskoepf/dk1_duplo_in_box_2026-04-17"> <img src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl.svg" alt="可视化本数据集(亮色模式)"/> <img src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl-dark.svg" alt="可视化本数据集(暗色模式)"/> </a> ## 数据集描述 任务:将乐高得宝(Lego Duplo)积木放入容器中 - **机器人平台**:TRLC DK1 双臂协作机器人(`bi_dk1_follower`)—— 搭载2台6自由度机械臂及末端夹爪 - **任务目标**:拾取得宝积木并将其放置于容器内 - **任务回合数**:101个 - **总帧数**:176,108帧(以60 FPS计算,总时长约48.9分钟) - **平均回合时长**:29.1秒 - **许可证**:Apache-2.0 ### 摄像头配置 | 摄像头节点 | 分辨率 | 编码格式 | FPS | |---|---|---|---| | `observation.images.head` | 640×360 | hevc | 60 | | `observation.images.left_wrist` | 640×360 | hevc | 60 | | `observation.images.right_wrist` | 640×360 | hevc | 60 | ### 观测空间 - **`observation.state`**:float32[40] 类型数据,包含左右机械臂及夹爪的关节位置、速度与扭矩 - **`observation.images.*`**:3路摄像头视觉流 ### 动作空间 - **`action`**:float32[14] 类型数据,为左右机械臂及夹爪的关节位置目标值 ## 数据集加载示例 python from lerobot.datasets.lerobot_dataset import LeRobotDataset dataset = LeRobotDataset("andreaskoepf/dk1_duplo_in_box_2026-04-17") # 访问单帧数据 frame = dataset[0] print(frame["observation.state"].shape) # torch.Size([40]) print(frame["action"].shape) # torch.Size([14]) print(frame["observation.images.head"].shape) # torch.Size([3, 720, 1280]) ## 数据集结构 [meta/info.json](meta/info.json): json { "codebase_version": "v3.0", "robot_type": "bi_dk1_follower", "total_episodes": 101, "total_frames": 176108, "total_tasks": 1, "chunks_size": 1000, "data_files_size_in_mb": 23, "video_files_size_in_mb": 5276, "fps": 60, "splits": { "train": "0:101" }, "data_path": "data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet", "video_path": "videos/{video_key}/chunk-{chunk_index:03d}/file-{file_index:03d}.mp4", "features": { "action": { "dtype": "float32", "names": [ "left_joint_1.pos", "left_joint_2.pos", "left_joint_3.pos", "left_joint_4.pos", "left_joint_5.pos", "left_joint_6.pos", "left_gripper.pos", "right_joint_1.pos", "right_joint_2.pos", "right_joint_3.pos", "right_joint_4.pos", "right_joint_5.pos", "right_joint_6.pos", "right_gripper.pos" ], "shape": [ 14 ] }, "observation.state": { "dtype": "float32", "names": [ "left_joint_1.pos", "left_joint_2.pos", "left_joint_3.pos", "left_joint_4.pos", "left_joint_5.pos", "left_joint_6.pos", "left_gripper.pos", "right_joint_1.pos", "right_joint_2.pos", "right_joint_3.pos", "right_joint_4.pos", "right_joint_5.pos", "right_joint_6.pos", "right_gripper.pos", "left_joint_1.vel", "left_joint_2.vel", "left_joint_3.vel", "left_joint_4.vel", "left_joint_5.vel", "left_joint_6.vel", "right_joint_1.vel", "right_joint_2.vel", "right_joint_3.vel", "right_joint_4.vel", "right_joint_5.vel", "right_joint_6.vel", "left_joint_1.torque", "left_joint_2.torque", "left_joint_3.torque", "left_joint_4.torque", "left_joint_5.torque", "left_joint_6.torque", "left_gripper.torque", "right_joint_1.torque", "right_joint_2.torque", "right_joint_3.torque", "right_joint_4.torque", "right_joint_5.torque", "right_joint_6.torque", "right_gripper.torque" ], "shape": [ 40 ] }, "observation.images.head": { "dtype": "video", "shape": [ 360, 640, 3 ], "names": [ "height", "width", "channels" ], "info": { "video.height": 360, "video.width": 640, "video.codec": "hevc", "video.pix_fmt": "yuv420p", "video.is_depth_map": false, "video.fps": 60, "video.channels": 3, "has_audio": false } }, "observation.images.left_wrist": { "dtype": "video", "shape": [ 360, 640, 3 ], "names": [ "height", "width", "channels" ], "info": { "video.height": 360, "video.width": 640, "video.codec": "hevc", "video.pix_fmt": "yuv420p", "video.is_depth_map": false, "video.fps": 60, "video.channels": 3, "has_audio": false } }, "observation.images.right_wrist": { "dtype": "video", "shape": [ 360, 640, 3 ], "names": [ "height", "width", "channels" ], "info": { "video.height": 360, "video.width": 640, "video.codec": "hevc", "video.pix_fmt": "yuv420p", "video.is_depth_map": false, "video.fps": 60, "video.channels": 3, "has_audio": false } }, "timestamp": { "dtype": "float32", "shape": [ 1 ], "names": null }, "frame_index": { "dtype": "int64", "shape": [ 1 ], "names": null }, "episode_index": { "dtype": "int64", "shape": [ 1 ], "names": null }, "index": { "dtype": "int64", "shape": [ 1 ], "names": null }, "task_index": { "dtype": "int64", "shape": [ 1 ], "names": null } } } ## 引用信息 **BibTeX格式引用:** bibtex @misc{andreaskoepf_dk1_duplo_in_box_2026_04_17, title = {拾取乐高得宝积木并放入容器中}, author = {The Robot Learning Company}, year = {2026}, publisher = {HuggingFace}, url = {https://huggingface.co/datasets/andreaskoepf/dk1_duplo_in_box_2026-04-17} }

提供机构:
andreaskoepf
二维码
社区交流群
二维码
科研交流群
商业服务