Skip to content

OpenRobotLab/GRUtopia

Repository files navigation

demo

arxiv pdf github doc video-en video-cn PyPI Downloads GitHub Issues

GRUtopia

πŸ”₯ News

  • [2025-02] GRUtopia 2.0 released!
  • [2024-07] We release the paper and demos of GRUtopia.

πŸš€ New Features in 2.0 release

πŸ“‹ Contents

🏠 About

Recent works have been exploring the scaling laws in the field of Embodied AI. Given the prohibitive costs of collecting real-world data, we believe the Simulation-to-Real (Sim2Real) paradigm is a more feasible path for scaling the learning of embodied models.

We introduce project GRUtopia (aka. 摃源 in Chinese), a general-purpose research platform for embodied AGI. It features several advancements:

  • πŸ™οΈ GRScenes, the scene dataset, includes 100k interactive finely annotated scenes. GRScenes covers 89 diverse scene categories, facilitating deployment of general robots across different scenarios.
  • πŸ§‘β€πŸ€β€πŸ§‘ GRResidents, a Large Language Model (LLM) driven Non-Player Character (NPC) system that enables social interaction, task generation, and task assignment, thus simulating social scenarios for embodied AI applications.
  • πŸ€– GRBench, a collection of embodied AI benchmarks for assessing various capabilities of solving embodied tasks.

We hope that this work can alleviate the scarcity of high-quality data in this field and provide a more comprehensive assessment of embodied AI research.

πŸ“š Getting Started

Prerequisites

  • Ubuntu 20.04, 22.04
  • NVIDIA Omniverse Isaac Sim 4.2.0
    • Ubuntu 20.04/22.04 Operating System
    • NVIDIA GPU (RTX 2070 or higher)
    • NVIDIA GPU Driver (recommended version 535.129.03)
    • Docker (Optional)
    • NVIDIA Container Toolkit (Optional)
  • Conda
    • Python 3.10.16 (3.10.* should be ok)

Installation

We provide the installation guide here. You can install locally or use docker and verify the installation easily.

Documentation & Tutorial

We provide detailed docs for the basic usage of different modules supported in GRUtopia. Welcome to try and post your suggestions!

πŸ™οΈ Assets

If grutopia is properly installed, you can choose to download all assets (~80GB) or a minimum set (~500MB) to examine installation by running the following script:

$ python -m grutopia.download_assets

The default path to store the downloaded assets is ${PATH/TO/GRUTOPIA/ROOT}/grutopia/assets. Users have two ways to configure the asset path:

  1. Spcecify a custom path during download using python -m grutopia.download_assets.
  2. Set it later by running python -m grutopia.set_assets_path and entering the preferred directory.

GRScenes-100

If you want to separately download the GRScenes-100 scene assets, you can manually download them from OpenXLab, ModelScope and HuggingFace. Please refer to the instructions for scene usage.

Robots & Weights

If you want to separately download robots and policy weights, you can manually download the robot directory from from OpenXLab, ModelScope and HuggingFace and move it to the root of the asset path.

πŸ“¦ Benchmark & Method

We preliminarily establish three benchmarks for evaluating the capabilities of embodied agents from different aspects: Object Loco-Navigation, Social Loco-Navigation, and Loco-Manipulation. Please refer to the documentation for running the benchmarks.

πŸ‘₯ Support

Join our WeChat support group for any help.

πŸ“ TODO List

  • Release the paper with demos.
  • Release the platform with basic functions and demo scenes.
  • Release 100 curated scenes.
  • Polish APIs and related codes.
  • Full release and further updates.
  • Release the baseline methods and benchmark data.
  • Support multiple episodes.
  • Vectorized env and batch execution.
  • Training framework.

πŸ”— Citation

If you find our work helpful, please cite:

@inproceedings{grutopia,
    title={GRUtopia: Dream General Robots in a City at Scale},
    author={Wang, Hanqing and Chen, Jiahe and Huang, Wensi and Ben, Qingwei and Wang, Tai and Mi, Boyu and Huang, Tao and Zhao, Siheng and Chen, Yilun and Yang, Sizhe and Cao, Peizhou and Yu, Wenye and Ye, Zichao and Li, Jialun and Long, Junfeng and Wang, ZiRui and Wang, Huiling and Zhao, Ying and Tu, Zhongying and Qiao, Yu and Lin, Dahua and Pang Jiangmiao},
    year={2024},
    booktitle={arXiv},
}

πŸ“„ License

GRUtopia's simulation platform is MIT licensed. The open-sourced GRScenes are under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License Creative Commons License.

πŸ‘ Acknowledgements

  • OmniGibson: We refer to OmniGibson for designs of oracle actions.
  • RSL_RL: We use rsl_rl library to train the control policies for legged robots.
  • ReferIt3D: We refer to the Sr3D's approach to extract spatial relationship.
  • Isaac Lab: We use some utilities from Orbit (Isaac Lab) for driving articulated joints in Isaac Sim.
  • Open-TeleVision: We use Open-TeleVision to teleoperate with Apple VisionPro.
  • HaMeR: We use HaMeR to recognize hand gesture in teleoperate with camera.
  • Infinigen: We use Infinigen to procedurally generate indoor scenes upon GRScenes-100 dataset.
  • VLFM: We refer to VLFM to implement our benchmark baselines.
  • Grounding DINO: We use Grounding DINO in our benchmark baselines.
  • YOLOv7: We use YOLOv7 in our benchmark baselines.
  • MobileSAM: We use MobileSAM in our benchmark baselines.