allenai/molmobot-data
MolmoBot-data Training episode data (actions, visual inputs, and other sensor data) for 8 tasks on 2 robotic platforms: DoorOpeningDataGenConfig RBY1OpenDataGenConfig RBY1PickDataGenConfig FrankaPickOmniCamConfig RBY1PickAndPlaceDataGenConfig FrankaPickAndPlaceOmniCamConfig FrankaPickAndPlaceColorOmniCamConfig FrankaPickAndPlaceNextToOmniCamConfig Please note that every package indexed by the parquet files can contain several instances of episode data. We also provide an… See the full description on the dataset page: https://huggingface.co/datasets/allenai/molmobot-data.
MolmoBot-data
Training episode data (actions, visual inputs, and other sensor data) for 8 tasks on 2 robotic platforms:
- DoorOpeningDataGenConfig
- RBY1OpenDataGenConfig
- RBY1PickDataGenConfig
- FrankaPickOmniCamConfig
- RBY1PickAndPlaceDataGenConfig
- FrankaPickAndPlaceOmniCamConfig
- FrankaPickAndPlaceColorOmniCamConfig
- FrankaPickAndPlaceNextToOmniCamConfig
Please note that every package indexed by the parquet files can contain several instances of episode data.
We also provide an extension dataset for FrankaPickAndPlace (not used to train any of our shared models) with additional object types:
- FrankaPickAndPlaceOmniCamConfig_ObjectBackfill
Data access
We recommend to use bulk_download.py. For example,
python bulk_download.py --split all --max_part_shards 1 --all /path/to/mbdata/will download and extract one shard from each part of each configuration in each available split under /path/to/mbdata.
To launch it you might need to install some dependencies, e.g., by:
pip install zstandard datasets huggingface_hub tqdmA standalone example of how to access the episode data via streaming is also included in stream_access_example.py.
Episodes with commercial use-friendly licenses
commercial_episodes-parquet provides a list with all scenes and episodes where all objects in the scene have a commercial use-frienfly license (aka non-NC) across all data configs, parts, and splits.
Example filtering usage:
def keep_episode(valid_episodes_string: str, episode_ordinal: int) -> bool:
if valid_episodes_string == "*":
return True
if not valid_episodes_string:
return False
return str(episode_ordinal) in valid_episodes_string.split(",")valid_episodes_string == "*" means all episodes are valid for the current config/split/part/scene (no added objects), else, only the given comma-separated episode indices have all objects under commercial use-friendly licenses.
Dataset post-processing and stats
After bulk downloading data, please use
- repair_video_paths.py to fix video paths,
- validate_trajectories.py to extract valid trajectories from each dataset and part, and
- calculate_stats.py to extract dataset stats.
For example:
export SPLIT_DIR=/path/to/mbdata/DoorOpeningDataGenConfig/part0/train
python scripts/data/repair_video_paths.py "$SPLIT_DIR"
python scripts/data/validate_trajectories.py "$SPLIT_DIR" --check-visibility droid_shoulder_light_randomization pickup_obj --check-visibility droid_shoulder_light_randomization place_receptacle
python scripts/data/calculate_stats.py "$SPLIT_DIR" --keys actions obs/agent/qposLicense
This dataset is licensed under ODC-BY 1.0. It is intended for research and educational use in accordance with Ai2's Responsible Use Guidelines. The subset of Objaverse used to generate these data is licensed under ODC-BY 1.0, with license information accessible, e.g., through the license_info.py script. The scripts are licensed under Apache 2.0.
BibTeX
@misc{deshpande2026molmobot,
title={MolmoB0T: Large-Scale Simulation Enables Zero-Shot Manipulation},
author={Abhay Deshpande and Maya Guru and Rose Hendrix and Snehal Jauhri and Ainaz Eftekhar and Rohun Tripathi and Max Argus and Jordi Salvador and Haoquan Fang and Matthew Wallingford and Wilbert Pumacay and Yejin Kim and Quinn Pfeifer and Ying-Chun Lee and Piper Wolters and Omar Rayyan and Mingtong Zhang and Jiafei Duan and Karen Farley and Winson Han and Eli Vanderbilt and Dieter Fox and Ali Farhadi and Georgia Chalvatzaki and Dhruv Shah and Ranjay Krishna},
year={2026},
eprint={2603.16861},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2603.16861},
}