andreaskoepf/dk1_flip_coaster
收藏Hugging Face2026-03-25 更新2026-03-29 收录
下载链接:
https://hf-mirror.com/datasets/andreaskoepf/dk1_flip_coaster
下载链接
链接失效反馈官方服务:
资源简介:
---
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_flip_coaster">
<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
Flip the coaster upside down.
- **Robot:** TRLC DK1 bimanual (`bi_dk1_follower`) — 2× 6-DOF arms with grippers
- **Task:** Turn the coaster over.
- **Episodes:** 16
- **Total frames:** 10,489 (5.8 min @ 30 fps)
- **Avg episode length:** 21.9s
- **License:** apache-2.0
### Cameras
| Camera | Resolution | Codec | FPS |
|---|---|---|---|
| `observation.images.head` | 640x360 | h264 | 30 |
| `observation.images.left_wrist` | 640x360 | h264 | 30 |
| `observation.images.right_wrist` | 640x360 | h264 | 30 |
### Observation Space
- **`observation.state`**: float32[40] — left_joint_1.pos, left_joint_1.vel, left_joint_1.torque, left_joint_2.pos, left_joint_2.vel, left_joint_2.torque... (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_flip_coaster")
# 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": 16,
"total_frames": 10489,
"total_tasks": 1,
"chunks_size": 1000,
"data_files_size_in_mb": 2,
"video_files_size_in_mb": 1004,
"fps": 30,
"splits": {
"train": "0:16"
},
"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_1.vel",
"left_joint_1.torque",
"left_joint_2.pos",
"left_joint_2.vel",
"left_joint_2.torque",
"left_joint_3.pos",
"left_joint_3.vel",
"left_joint_3.torque",
"left_joint_4.pos",
"left_joint_4.vel",
"left_joint_4.torque",
"left_joint_5.pos",
"left_joint_5.vel",
"left_joint_5.torque",
"left_joint_6.pos",
"left_joint_6.vel",
"left_joint_6.torque",
"left_gripper.pos",
"left_gripper.torque",
"right_joint_1.pos",
"right_joint_1.vel",
"right_joint_1.torque",
"right_joint_2.pos",
"right_joint_2.vel",
"right_joint_2.torque",
"right_joint_3.pos",
"right_joint_3.vel",
"right_joint_3.torque",
"right_joint_4.pos",
"right_joint_4.vel",
"right_joint_4.torque",
"right_joint_5.pos",
"right_joint_5.vel",
"right_joint_5.torque",
"right_joint_6.pos",
"right_joint_6.vel",
"right_joint_6.torque",
"right_gripper.pos",
"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": "h264",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"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": "h264",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"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": "h264",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"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_flip_coaster,
title = {Turn the coaster over.},
author = {The Robot Learning Company},
year = {2026},
publisher = {HuggingFace},
url = {https://huggingface.co/datasets/andreaskoepf/dk1_flip_coaster}
}
```
提供机构:
andreaskoepf



