Shortcuts

Installation

Prerequisites

  • OS: Ubuntu 20.04+

  • RAM: 32GB+

  • GPU: NVIDIA RTX 2070+

  • NVIDIA Driver: 525.85+

GRUtopia is built upon NVIDIA’s Omniverse and Isaac Sim platforms, so we inherit their dependencies. For more information, please see Isaac Sim’s Requirements.

Two ways of installation are provided:

  • Install from source (Linux): workstation installation of Isaac Sim is required, and is recommended for users who wants to run Isaac Sim as a GUI application on Linux workstation with a GPU.

  • Install with Docker (Linux): container installation of Isaac Sim is required, and is recommended for deployment on remote headless servers or the Cloud using a Docker container running Linux.

See more: Differences Between Workstation And Docker.

Windows support is in our roadmap, welcome to contribute!

Install from source (Linux)

Make sure you have Isaac Sim 2023.1.1 installed.

Conda is required to install from source.

  1. Navigate to Isaac Sim root path (default path in Ubuntu is $HOME/.local/share/ov/pkg/isaac_sim-2023.1.1) and clone the repository.

    $ cd PATH/TO/ISAAC_SIM/ROOT
    $ git clone git@github.com:OpenRobotLab/GRUtopia.git
    
  2. Download dataset and save it to the assets directory under GRUtopia root path.

    The file structure should be like:

    GRUtopia
    ├── assets
    │   ├── objects
    │   ├── policy
    │   ├── robots
    │   └── scenes
    ├── demo
    │   ├── configs
    │   ├── h1_city.py
    │   ├── h1_locomotion.py
    │   └── h1_npc.py
    ...
    
  3. Navigate to GRUtopia root path and configure the conda environment.

    $ cd PATH/TO/GRUTOPIA/ROOT
    
    # Conda environment will be created and configured automatically with prompt.
    $ ./setup_conda.sh
    
    $ cd .. && conda activate grutopia  # or your conda env name
    
  4. Verify the Installation.

    Run at the root path of Isaac Sim:

    $ cd PATH/TO/ISAAC_SIM/ROOT
    $ python ./GRUtopia/demo/h1_locomotion.py  # start simulation
    

    If properly installed, Isaac Sim GUI window should pop up and you can see a humanoid robot (Unitree H1) walking following a pre-defined trajectory in Isaac Sim.

Install with Docker (Linux)

Make sure you have Docker and NVIDIA Container Toolkit installed. You can refer to the container installation doc of Isaac Sim for detailed instructions.

  1. Clone the GRUtopia repository to any desired location.

    $ git clone git@github.com:OpenRobotLab/GRUtopia.git
    
  2. Download dataset and save it to the assets directory under GRUtopia root path.

    The file structure should be like:

    GRUtopia
    ├── assets
    │   ├── objects
    │   ├── policy
    │   ├── robots
    │   └── scenes
    ├── demo
    │   ├── configs
    │   ├── h1_city.py
    │   ├── h1_locomotion.py
    │   └── h1_npc.py
    ...
    
  3. Pull the Isaac Sim image (docker login is required, please refer to NGC Documents).

    $ docker pull nvcr.io/nvidia/isaac-sim:2023.1.1
    
  4. Build docker image.

    $ cd PATH/TO/GRUTOPIA/ROOT
    
    $ docker build -t grutopia:0.0.1 .
    
  5. Start docker container.

    $ cd PATH/TO/GRUTOPIA/ROOT
    
    $ export CACHE_ROOT=$HOME/docker  # set cache root path
    $ export WEBUI_HOST=127.0.0.1  # set webui listen address, default to 127.0.0.1
    
    $ docker run --name grutopia -it --rm --gpus all --network host \
      -e "ACCEPT_EULA=Y" \
      -e "PRIVACY_CONSENT=Y" \
      -e "WEBUI_HOST=${WEBUI_HOST}" \
      -v ${PWD}:/isaac-sim/GRUtopia \
      -v ${CACHE_ROOT}/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
      -v ${CACHE_ROOT}/isaac-sim/cache/ov:/root/.cache/ov:rw \
      -v ${CACHE_ROOT}/isaac-sim/cache/pip:/root/.cache/pip:rw \
      -v ${CACHE_ROOT}/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
      -v ${CACHE_ROOT}/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
      -v ${CACHE_ROOT}/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
      -v ${CACHE_ROOT}/isaac-sim/data:/root/.local/share/ov/data:rw \
      -v ${CACHE_ROOT}/isaac-sim/documents:/root/Documents:rw \
      grutopia:0.0.1
    
  6. Verify the Installation.

    Run inside container:

    # run inside container
    $ python ./GRUtopia/demo/h1_locomotion.py  # start simulation
    

    If properly installed, observation from simulation will be displayed in the terminal every 100 steps, and you can access the Isaac Sim through WebRTC at http://127.0.0.1:8211/streaming/webrtc-demo/?server=127.0.0.1 (if you have set a different WEBUI_HOST, use that instead of 127.0.0.1).