# Galaxea Open-World Dataset Guide This guide explains how to integrate and use the Galaxea Open-World RLDS dataset with the Robometer training pipeline. Source: `https://huggingface.co/datasets/OpenGalaxea/Galaxea-Open-World-Dataset` Can download it with `hf download OpenGalaxea/Galaxea-Open-World-Dataset --repo-type dataset --include "*rlds*" --local-dir ./datasets/galaxea` Also, need to install some extra dependencies: ```bash uv pip install tensorflow-datasets uv pip install tensorflow uv pip install tf-keras ``` ## Overview - 500+ hours of real-world mobile manipulation data in RLDS and LeRobot formats. - Fine-grained subtask language annotations at step level via `language_instruction`. - Multiple RLDS builders (e.g., `part1_r1_lite`, `sample_r1_lite`) under a common `rlds/` root. ## Directory Structure ``` / rlds/ sample_r1_lite/ 1.0.0/ dataset_info.json features.json merge_dataset_large_r1_lite-train.tfrecord-00000-of-01024 ... part1_r1_lite/ 1.0.0/ ... ``` ## Language Instruction Schema As documented, `language_instruction` encodes three parts separated by `@`: - `high_level` @ `low_level_chinese` @ `low_level_english` We extract the low-level English (the third part) and use it as the task string for embeddings. ## Configuration (configs/data_gen_configs/galaxea.yaml) ```yaml # configs/data_gen_configs/galaxea.yaml dataset: dataset_path: ./datasets/galaxea dataset_name: galaxea_part1_r1_lite # choose from part1_r1_lite, part2_r1_lite, part3_r1_lite, part4_r1_lite, part5_r1_lite, ... output: output_dir: ./robometer_dataset/galaxea_rfm max_trajectories: -1 max_frames: 64 use_video: true fps: 10 shortest_edge_size: 240 center_crop: false num_workers: 4 hub: push_to_hub: true hub_repo_id: galaxea_rfm ``` ## Usage ```bash bash dataset_upload/data_scripts/galaxea/gen_all_galaxea.sh ``` This will: - Iterate the listed RLDS builders under `rlds/` - For each episode, parse `language_instruction` and extract the low-level English instruction - Select camera views (`image_camera_head`, `image_camera_wrist_left`, `image_camera_wrist_right`) - Convert frames to web-optimized videos and create a HuggingFace dataset ## Data Fields Each trajectory includes: - `id`: Unique identifier - `task`: Low-level English instruction (parsed from `language_instruction`) - `frames`: Relative path to the generated clip video - `is_robot`: True - `quality_label`: "successful" - `partial_success`: N/A (fixed by pipeline) - `data_source`: `galaxea` ## Troubleshooting - Builder not found: Ensure the RLDS version directories exist under `rlds//`. - Missing instruction: If no `language_instruction` is present or malformed, the episode is skipped. - Performance: Adjust `num_workers` and batch size inside the loader if needed.