Skip to content

🛠️ Installation

🗒️ Requirements

Please make sure your system meets the following specs:

  • OS: Ubuntu 18.04+
  • 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

You can quickly get OmniGibson immediately up and running from our pre-built 🐳 docker image:

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

Install our docker launching scripts:

curl -LJO https://raw.githubusercontent.com/StanfordVL/OmniGibson/main/docker/run_docker.sh
curl -LJO https://raw.githubusercontent.com/StanfordVL/OmniGibson/main/docker/run_docker_gui.sh
chmod a+x run_docker.sh
chmod a+x run_docker_gui.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. (1)

  1. 📊 Worried about dataset size? We will ask whether you want to install our small demo dataset or full dataset of assets!

Then, simply launch the desired script:

sudo ./run_docker.sh <DATA_PATH> # (1)!
  1. <DATA_PATH> specifies where data will be stored on your machine (if no <DATA_PATH> is specified, it defaults to ./omnigibson_data). This needs to be called each time the docker container is run!
sudo ./run_docker_gui.sh <DATA_PATH> # (1)!
  1. <DATA_PATH> specifies where data will be stored on your machine (if no <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 or run_docker_gui.sh are located on an NFS / AFS partition, please set <DATA_PATH> to an alternative data directory located on a non-NFS / AFS partition.

Advanced: Installing from Source

This method is recommended for deeper users looking to develop upon OmniGibson or use it extensively for research.

  1. Install Conda

  2. Install NVIDIA's Isaac Sim platform (1)

  3. Export IsaacSim directory path as an environment variable: (2)

    export ISAAC_SIM_PATH = <YOUR_PATH_TO_ISAAC_SIM>
    
  4. Clone OmniGibson and move into the directory:

    git clone https://github.com/StanfordVL/OmniGibson.git
    cd OmniGibson
    
  5. Run the command to setup a virtual conda environment to run OmniGibson:

    chmod +x setup_conda_env.sh
    ./setup_conda_env.sh
    
  6. This will automatically create an dump you into a conda env called omnigibson. If you need to activate this environment later, simply call:

    conda activate omnigibson
    
  7. 🎉 Congrats! You installed OmniGibson successfully.

  1. Be sure keep track of where you choose Omniverse to write package files! By default this should be ~/.local/share/ov/pkg

  2. If you installed Isaac Sim to the default location, this is ~/.local/share/ov/pkg/isaac_sim-2022.1.1

🌎 Explore OmniGibson!

Expect slowdown during first execution

Omniverse requires some one-time startup setup (up to ~5 minutes) when OmniGibson is imported for the first time. 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!