THULab/key_unlock_dagger_v2
key-unlock-dagger-v2 (TsFile) This dataset is an Apache TsFile conversion of the Hugging Face dataset YOLO2431/key-unlock-dagger-v2. The source dataset was created using LeRobot. Modalities: Time-series. The original repository also contains synchronized RGB and depth video streams; videos are not included in this converted repository. Source Dataset Original dataset: YOLO2431/key-unlock-dagger-v2 License: apache-2.0 LeRobot codebase version: v2.1 Robot type:… See the full description on the dataset page: https://huggingface.co/datasets/THULab/key_unlock_dagger_v2.
key-unlock-dagger-v2 (TsFile)
This dataset is an Apache TsFile conversion of the Hugging Face dataset `YOLO2431/key-unlock-dagger-v2`. The source dataset was created using LeRobot.
Modalities: Time-series. The original repository also contains synchronized RGB and depth video streams; videos are not included in this converted repository.
Source Dataset
- Original dataset: `YOLO2431/key-unlock-dagger-v2`
- License:
apache-2.0 - LeRobot codebase version:
v2.1 - Robot type:
yam_bimanual - Split:
train(0:161) - Source scale from
meta/info.json:161episodes,34,279frames,1task - Source video count from
meta/info.json:483 - Sampling rate:
30fps - Source data layout:
data/chunk-{episode_chunk:03d}/episode_{episode_index:06d}.parquet - Source RGB video layout:
videos/chunk-{episode_chunk:03d}/{video_key}/episode_{episode_index:06d}.mp4 - Source depth video files are also present under
videos/chunk-000/observation.depth_ffv1.*/*.mkv
Task:
Grab the key with the left hand and hand it to the right hand. Pick up the lock, insert the key into the keyhole, and turn to unlock. Open the shackle to show success, then put the unlocked lock with the key still in it into the lock box.
Converted Files
- TsFile:
data/key_unlock_dagger_v2.tsfile - Converted rows:
34,279 - Episodes:
161 - TsFile table:
key_unlock_dagger_v2 - Time precision: milliseconds
- TAG columns:
episode_index,task_index - TsFile size:
5,871,955bytes
Schema
Time is synthesized as round(timestamp * 1000) in milliseconds. The source timestamp column is dropped because it is redundant with Time / 1000 seconds. At 30 fps, consecutive frames are spaced by about 33 ms.
TAG columns:
episode_indextask_index
FIELD columns:
frame_indexsample_index(renamed from sourceindex)observation_state_0toobservation_state_31action_0toaction_31
Vector features are flattened by preserving the source feature name and replacing . with _. For example, observation.state becomes observation_state_0 to observation_state_31. The 32-element observation.state and action vectors use the source order: left_pos_x, left_pos_y, left_pos_z, left_rot6d_0 to left_rot6d_5, right_pos_x, right_pos_y, right_pos_z, right_rot6d_0 to right_rot6d_5, left_gripper, right_gripper, left_joint_0 to left_joint_5, and right_joint_0 to right_joint_5.
Video Policy
The following source visual features are not converted into TsFile and are not uploaded here:
observation.images.headobservation.images.left_wristobservation.images.right_wristobservation.depth_ffv1.headobservation.depth_ffv1.left_wristobservation.depth_ffv1.right_wrist
Use the original dataset for RGB and depth videos: `YOLO2431/key-unlock-dagger-v2/videos`.
Metadata
The source meta/ files are mirrored in this repository. meta/info.json is updated so data_path points to data/key_unlock_dagger_v2.tsfile and includes a tsfile_conversion object documenting the Time mapping, TAG columns, flattened features, dropped fields, and video policy.
Validation
The converted TsFile was validated with the project pipeline and read back using the TsFile Python SDK:
- staged Parquet rows:
34,279 - TsFile metadata rows:
34,279 - TsFile query rows:
34,279 - TsFile size:
5,871,955bytes
Usage
from tsfile import TsFileReader
path = "data/key_unlock_dagger_v2.tsfile"
with TsFileReader(path) as reader:
schemas = reader.get_all_table_schemas()
print(schemas.keys())