Dataset · Robotics
cafe_001
by National Engineering Research Center for Big Data Software THULab/cafe_001
Apache TsFile version of kjydb/cafe001. A teleoperation dataset recorded on a PS-A-03 500 arm and packaged in the LeRobot v2.1 layout.
Dataset Card
By National Engineering Research Center for Big Data Software, published under apache-2.0, revision a75cec5b2e21.
cafe_001 (TsFile)
Apache TsFile version of kjydb/cafe_001.
Overview
A teleoperation dataset recorded on a PS-A-03 500 arm and packaged in the LeRobot v2.1 layout. Each row is one control step: a 13-dimensional Cartesian state (position x, y, z, orientation rx, ry, rz, linear velocities x.vel, y.vel, z.vel, angular velocities pitch.vel, roll.vel, yaw.vel, and gripper.status) and the matching 13-dimensional commanded action. The metadata records a single task (task_index = 0).
- Robot: PS-A-03 500
- Episodes: 60 · Frames (rows): 36,101 · Tasks: 1
- Sampling rate: 30 fps
- Cameras:
observation.images.wrist(480x640x3, AV1) - Converted TsFile: 36,101 rows in a single
data/cafe_001.tsfile, one device perepisode_index(WHERE episode_index=0selects episode 0).
Schema (TsFile structure)
- Time (INT64, milliseconds) —
round(timestamp * 1000); restarts at 0 for each episode. - episode_index (TAG) — episode / device dimension.
- task_index (TAG) — task dimension (constant
0here). - frame_index (FIELD, INT64) — source frame counter; sample_index (FIELD, INT64) — source
indexcolumn (renamed). - action_{0..12} (FIELD, FLOAT) — commanded Cartesian pose/velocity + gripper target
- observation.state_{0..12} (FIELD, FLOAT) — measured Cartesian pose/velocity + gripper status
Vector columns were flattened to scalar fields: a . in the source column name became _ and the element index is appended (e.g. observation.state → observation_state_0 ... observation_state_{n-1}). Values are single-precision FLOAT. The source timestamp column is dropped because it equals Time ÷ 1000 seconds. No other columns or rows were removed.
Usage
Install the Apache TsFile Python SDK (pip install tsfile) and read a converted file:
from pathlib import Path
from tsfile import TsFileReader
path = Path("data/cafe_001.tsfile")
with TsFileReader(str(path)) as reader:
schemas = reader.get_all_table_schemas()
print("tables:", list(schemas))
table_name = next(iter(schemas))
table = schemas[table_name]
columns = [column.get_column_name() for column in table.get_columns()]
print("columns:", columns)
field_names = [
column.get_column_name()
for column in table.get_columns()
if column.get_column_name() not in {"Time", "time"}
]
if field_names:
with reader.query_table(table_name, field_names[:3], batch_size=1024) as result:
batch = result.read_arrow_batch()
if batch is not None:
print(batch.to_pandas().head())
Source & license
- Original dataset: https://huggingface.co/datasets/kjydb/cafe_001
- Author / publisher: kjydb
- License: apache-2.0
- Camera video streams are not included in this repository; they remain at the original dataset's
videos/directory.
Details
- Repository
- THULab/cafe_001
- Publisher
- National Engineering Research Center for Big Data Software
- Task category
- Robotics
- Tags
- tsfile, timeseries, time-series
- Size category
- 10K<n<100K
- Languages
- en
- Revision
- a75cec5b2e21f832a3f4b35ba75423d4ae8ca30e
- Last updated
- 2026-09-23
Files
7 files, 3.3 MB in total.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| meta/episodes.jsonl | Data | 4.4 KB | — |
| meta/episodes_stats.jsonl | Data | 177.0 KB | — |
| meta/info.json | Data | 6.9 KB | — |
| meta/tasks.jsonl | Data | 52 B | — |
| README.md | Documentation | 3.3 KB | — |
| data/cafe_001.tsfile | Other | 3.1 MB | 08e3e10d3fb6 |
| .gitattributes | Repository | 2.6 KB | — |
License and Download
- License
- apache-2.0
- Access
- No access gate
Released by National Engineering Research Center for Big Data Software through its official repository on Hugging Face. Read the license.