CoolFace
Datasetpublic

THULab/160-LegoBot-lego_pixelart_stage_2_v1

160_legobot_lego_pixelart_stage_2_v1 This dataset was converted from LeRobot-worldwide-hackathon/160-LegoBot-lego_pixelart_stage_2_v1 to Apache TsFile format. Dataset Description The original dataset is a LeRobot-format robot dataset for a LegoBot pixel-art stage task. Modalities: Time-series. The original dataset also includes video streams. Robot type: so100_follower_bimanual Codebase version: LeRobot v2.1 Recording frequency: 30 Hz Split: train (0:53) Scale:… See the full description on the dataset page: https://huggingface.co/datasets/THULab/160-LegoBot-lego_pixelart_stage_2_v1.

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes26downloads
Dataset Card

160legobotlegopixelartstage2v1

This dataset was converted from `LeRobot-worldwide-hackathon/160-LegoBot-lego_pixelart_stage_2_v1` to Apache TsFile format.

Dataset Description

The original dataset is a LeRobot-format robot dataset for a LegoBot pixel-art stage task.

  • —Modalities: Time-series. The original dataset also includes video streams.
  • —Robot type: so100_follower_bimanual
  • —Codebase version: LeRobot v2.1
  • —Recording frequency: 30 Hz
  • —Split: train (0:53)
  • —Scale: 53 episodes, 31,157 frames, 1 task, and 159 source videos
  • —Source data path: data/chunk-{episode_chunk:03d}/episode_{episode_index:06d}.parquet
  • —Source video path: videos/chunk-{episode_chunk:03d}/{video_key}/episode_{episode_index:06d}.mp4

Task:

  • —task_index=0: Place the cube on the grid

Source Dataset

TsFile Conversion

The numeric robot state/action/time/task data was converted into one TsFile:

text
data/160_legobot_lego_pixelart_stage_2_v1.tsfile

Conversion details:

  • —All 53 source episodes are stored in one TsFile table named 160_legobot_lego_pixelart_stage_2_v1.
  • —episode_index and task_index are TsFile TAG columns. Query a single episode with WHERE episode_index=N.
  • —Time = round(timestamp * 1000) in milliseconds. The source timestamp column is not retained because it equals Time / 1000 seconds.
  • —frame_index is kept. Source index is renamed to sample_index.
  • —Vector columns are flattened by preserving the source column name, replacing . with _, and appending the element index.
  • —Values from flattened vector columns are stored as single-precision FLOAT.
  • —The converted TsFile contains 31,157 rows and 29 columns including Time, TAG columns, and FIELD measurements.

Flattened vector features:

  • —observation.state[12] -> observation_state_0..observation_state_11
  • —action[12] -> action_0..action_11

Schema roles:

  • —TIME: Time in milliseconds.
  • —TAG: episode_index, task_index.
  • —FIELD: frame_index, sample_index, and the flattened robot observation/action measurements.

Dropped or omitted source fields:

  • —timestamp is dropped because it is represented by Time.
  • —observation.images.top, observation.images.wrist_blue, and observation.images.wrist_white are video features and are not converted into TsFile columns.
  • —MP4 videos are not included in this repository. They remain in the original dataset under `videos/`.

The mirrored meta/info.json records the original video path and includes a tsfile_conversion section describing the converted schema, row count, TAG columns, dropped timestamp column, omitted video features, and time mapping.

Read Example

python
from tsfile import TsFileReader

path = "data/160_legobot_lego_pixelart_stage_2_v1.tsfile"
reader = TsFileReader(path)
table = reader.get_all_table_schemas()["160_legobot_lego_pixelart_stage_2_v1"]
columns = [c.get_column_name() for c in table.get_columns()]
print(columns[:10])