Skip to content

๐Ÿ› ๏ธ Installation

๐Ÿ—’๏ธ Requirements

Please make sure your system meets the following specs:

  • OS: Ubuntu 20.04+ / Windows 10+
  • RAM: 32GB+
  • GPU: NVIDIA RTX 2070+
  • VRAM: 8GB+
Why these specs?

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

๐Ÿ’ป Setup

There are two ways to setup OmniGibson:

  • ๐Ÿณ Install with Docker (Linux only): You can quickly get OmniGibson immediately up and running from our pre-built docker image.
  • ๐Ÿงช Install from source (Linux / Windows): This method is recommended for deeper users looking to develop upon OmniGibson or use it extensively for research.

Install OmniGibson with Docker is supported for ๐Ÿง Linux only.

Need to install docker or NVIDIA docker?
# Install docker
curl https://get.docker.com | sh && sudo systemctl --now enable docker

# Install nvidia-docker runtime
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
    && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
    sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
    && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2 # install
sudo systemctl restart docker # restart docker engine
  1. Install our docker launching scripts:

    curl -LJO https://raw.githubusercontent.com/StanfordVL/OmniGibson/main/docker/run_docker.sh
    chmod a+x run_docker.sh
    

    What is being installed?

    Our docker image automatically ships with a pre-configured conda virtual environment named omnigibson with Isaac Sim and OmniGibson pre-installed. Upon running the first time, our scene and object assets will automatically be downloaded as well.

  2. Then, simply launch the shell script:

    sudo ./run_docker.sh -h <ABS_DATA_PATH> # (1)!
    
    1. <ABS_DATA_PATH> specifies the absolute path data will be stored on your machine (if no <ABS_DATA_PATH> is specified, it defaults to ./omnigibson_data). This needs to be called each time the docker container is run!
    sudo ./run_docker.sh <ABS_DATA_PATH> # (1)!
    
    1. <ABS_DATA_PATH> specifies the absolute path data will be stored on your machine (if no <ABS_DATA_PATH> is specified, it defaults to ./omnigibson_data). This needs to be called each time the docker container is run!
    Are you using NFS or AFS?

    Docker containers are unable to access NFS or AFS drives, so if run_docker.sh are located on an NFS / AFS partition, please set <DATA_PATH> to an alternative data directory located on a non-NFS / AFS partition.

Install OmniGibson from source is supported for both ๐Ÿง Linux (bash) and ๐Ÿ“ Windows (powershell/cmd).

  1. Install Conda and NVIDIA's Omniverse Isaac Sim

    Please make sure you have the latest version of Isaac Sim (2023.1.1) installed.

    For Ubuntu 22.04, you need to install FUSE to run the Omniverse Launcher AppImage.

  2. Clone OmniGibson and move into the directory:

    git clone https://github.com/StanfordVL/OmniGibson.git
    cd OmniGibson
    
    Nightly build

    The main branch contains the stable version of OmniGibson. For our latest developed (yet not fully tested) features and bug fixes, please clone from the og-develop branch.

  3. Setup a virtual conda environment to run OmniGibson:

    ./scripts/setup.sh # (1)!
    
    1. The script will ask you which Isaac Sim to use. If you installed it in the default location, it should be ~/.local/share/ov/pkg/isaac_sim-2023.1.1

    This will create a conda env with omnigibson installed. Simply call conda activate to activate it.

  4. Download OmniGibson dataset (within the conda env):

    python scripts/download_datasets.py
    
  1. Install Conda and NVIDIA's Omniverse Isaac Sim

    Please make sure you have the latest version of Isaac Sim (2023.1.1) installed.

  2. Clone OmniGibson and move into the directory:

    git clone https://github.com/StanfordVL/OmniGibson.git
    cd OmniGibson
    
    Nightly build

    The main branch contains the stable version of OmniGibson. For our latest developed (yet not fully tested) features and bug fixes, please clone from the og-develop branch.

  3. Setup a virtual conda environment to run OmniGibson:

    .\scripts\setup.bat # (1)!
    
    1. The script will ask you which Isaac Sim to use. If you installed it in the default location, it should be C:\Users\<USER_NAME>\AppData\Local\ov\pkg\isaac_sim-2023.1.1

    This will create a conda env with omnigibson installed. Simply call conda activate to activate it.

  4. Download OmniGibson dataset (within the conda env):

    python scripts\download_datasets.py
    

๐ŸŒŽ Explore OmniGibson!

Expect slowdown during first execution

Omniverse requires some one-time startup setup when OmniGibson is imported for the first time.

The process could take up to 5 minutes. This is expected behavior, and should only occur once!

OmniGibson is now successfully installed! Try exploring some of our new scenes interactively:

python -m omnigibson.examples.scenes.scene_selector # (1)!
  1. This demo lets you choose a scene and interactively move around using your keyboard and mouse. Hold down Shift and then Left-click + Drag an object to apply forces!

You can also try teleoperating one of our robots:

python -m omnigibson.examples.robots.robot_control_example # (1)!
  1. This demo lets you choose a scene, robot, and set of controllers, and then teleoperate the robot using your keyboard.

Next: Get quickly familiarized with OmniGibson from our Quickstart Guide!

๐Ÿงฏ Troubleshooting

I cannot open Omniverse Launcher AppImage on Linux

You probably need to install FUSE to run the Omniverse Launcher AppImage.

OmniGibson is stuck at HydraEngine rtx failed creating scene renderer.

OmniGibson is likely using an unsupported GPU (default is id 0). Run nvidia-smi to see the active list of GPUs, and select an NVIDIA-supported GPU and set its corresponding ID when running OmniGibson with export OMNIGIBSON_GPU_ID=<ID NUMBER>.