THULab/libero_object_mask_depth_ipec_community_format
LIBERO Object Mask Depth (IPEC Community Format) (TsFile) Apache TsFile version of binhng/libero_object_mask_depth_IPEC_COMMUNITY_format. Overview A Franka robot dataset for the LIBERO-Object manipulation suite, distributed in the IPEC community format with object-mask and depth observations. Each of the ten tasks asks the robot to pick up a household object and place it in the basket. The converted time series records the robot's end-effector and joint state… See the full description on the dataset page: https://huggingface.co/datasets/THULab/libero_object_mask_depth_ipec_community_format.
LIBERO Object Mask Depth (IPEC Community Format) (TsFile)
Apache TsFile version of `binhng/libero_object_mask_depth_IPEC_COMMUNITY_format`.
Overview
A Franka robot dataset for the LIBERO-Object manipulation suite, distributed in the IPEC community format with object-mask and depth observations. Each of the ten tasks asks the robot to pick up a household object and place it in the basket. The converted time series records the robot's end-effector and joint state together with the commanded action at every control step.
- Scale: 500 episodes, 74,507 frames, 10 tasks, sampled at 20 fps; one
trainsplit indata/libero_object_mask_depth_ipec_community_format.tsfile.
Tasks (task_index): 0 pick up the salad dressing and place it in the basket; 1 bbq sauce; 2 ketchup; 3 tomato sauce; 4 alphabet soup; 5 cream cheese; 6 chocolate pudding; 7 butter; 8 orange juice; 9 milk.
Schema (TsFile structure)
- Time (INT64, milliseconds) - per-episode sample time,
round(timestamp * 1000)in milliseconds (the sourcetimestampcolumn equalsTime / 1000seconds and is therefore not stored separately). - episode_index, task_index (TAG) - device dimensions identifying one demonstration episode and one task; query a single episode with
WHERE episode_index=0. - observation_state_0..7, observation_states_ee_state_0..5, observation_states_joint_state_0..6, observation_states_gripper_state_0..1, action_0..6 (FIELD) - FLOAT robot joint/end-effector/gripper state and action measurements (8-D state, 6-D eestate, 7-D jointstate, 2-D gripper_state, 7-D action).
- frame_index, sample_index (INT64, FIELD) - source frame counter and source row counter (
indexrenamed tosample_index).
The dataset is stored as one wide TsFile table; within the train split all episodes share that single file with episode_index and task_index as TAG columns. State/action vectors are flattened to one FLOAT field per element (. -> _, element index appended). Camera video files are not included in this repository; the original dataset's videos are at `videos/`. meta/ is mirrored from the source. No data rows or non-video columns are dropped, apart from the redundant source timestamp column (replaced by Time). Eight camera image/video features (observation.images.*) are omitted as non-time-series.
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/libero_object_mask_depth_ipec_community_format.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/binhng/liberoobjectmaskdepthIPECCOMMUNITYformat
- Author / publisher: binhng
- License: apache-2.0
