๐ ๏ธ 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 three ways to setup OmniGibson
, all built upon different ways of installing NVIDIA Isaac Sim:
- ๐ Install with pip (Linux / Windows, Recommended): You can install
Omnigibson
and automatically install Isaac Sim through pip for the fastest startup. - ๐ณ Install with Docker (Linux only): You can quickly get
OmniGibson
immediately up and running from our pre-built docker image that includes Isaac Sim. - ๐งช Install with Omniverse Launcher (Linux / Windows): You can install Isaac Sim via the Omniverse launcher and hook
OmniGibson
up to it.
-
Create a conda environment with Python version
3.10
and numpy and PyTorch:conda create -n omnigibson python=3.10 pytorch torchvision torchaudio pytorch-cuda=12.1 "numpy<2" -c pytorch -c nvidia conda activate omnigibson
What should I do if
conda create
fails?Sometimes, conda will fail to resolve dependencies. In that case, you can create a Python-only conda environment first, and then install numpy<2 and PyTorch via pip.
If the default PyTorch version does not work for you due to a CUDA version compatibility issue, follow instructions on the PyTorch website to add the correct index option to the pip install line to get a different pytorch version.
-
Install 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 theog-develop
branch. -
Run the installation script to install Isaac Sim as well as
OmniGibson
dataset and assets:You can apply additional flag
--no-install-datasets
to skip dataset install.If this step fails, we recommend considering the source installation method.
More information
For more details on installing Isaac Sim via pip, please refer to the official Isaac Sim documentation.
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
-
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 andOmniGibson
pre-installed. Upon running the first time, our scene and object assets will automatically be downloaded as well. -
Then, simply launch the shell script:
<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
with Omniverse Launcher is supported for both ๐ง Linux (bash) and ๐ Windows (powershell/cmd).
-
Install Conda and NVIDIA's Omniverse Isaac Sim
Please make sure you have the currently supported version of Isaac Sim (4.1.0) installed.
For Ubuntu 22.04, you need to install FUSE to run the Omniverse Launcher AppImage.
-
Create a conda environment with Python version
3.10
:conda create -n omnigibson python=3.10 pytorch torchvision torchaudio pytorch-cuda=12.1 "numpy<2" -c pytorch -c nvidia conda activate omnigibson
What should I do if
conda create
fails?Sometimes, conda will fail to resolve dependencies. In that case, you can create a Python-only conda environment first, and then install numpy<2 and PyTorch via pip.
If the default PyTorch version does not work for you due to a CUDA version compatibility issue, follow instructions on the PyTorch website to add the correct index option to the pip install line to get a different pytorch version.
-
Install 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 theog-develop
branch. -
Run the installation script to hook the environment up to Isaac Sim as well as
OmniGibson
dataset and assets:You can specify your Isaac Sim install location using the argument
--isaac-sim-path
if it differs from the default. You can also apply additional flag--no-install-datasets
to skip dataset install.What does this do?
When you install OmniGibson this way, it will modify your conda environment setup to hook it up to the launcher-installed Isaac Sim.
-
Deactivate and reactivate the conda environment:
Because the environment was modified by the installer to hook it up to the launcher-installed Isaac Sim, you need to reactivate it.
๐ 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! You can try teleoperating one of our robots:
- This demo lets you choose a scene, robot, and set of controllers, and then teleoperate the robot using your keyboard.
The
--quickstart
flag will automatically select the scene and robot for you - remove that if you want to change the scene or robot.
You can also try exploring some of our new scenes interactively:
- This demo lets you choose a scene and interactively move around using your keyboard and mouse. Hold down
Shift
and thenLeft-click + Drag
an object to apply forces!
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>
.
I'm getting the error AttributeError: module 'x509' has no attribute 'Store'
This happens because launcher-based versions of Isaac Sim ship with a faulty copy of the cryptography
module. You can simply look at the stack trace for the path of your copy of
the cryptography module, e.g. if it shows an error that looks like this:
File "c:/users/cem/appdata/local/ov/pkg/isaac-sim-4.1.0/exts/omni.pip.cloud/pip_prebundle/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
from cryptography.hazmat.backends.openssl.backend import backend
File "c:/users/cem/appdata/local/ov/pkg/isaac-sim-4.1.0/exts/omni.pip.cloud/pip_prebundle/cryptography/hazmat/backends/openssl/backend.py", line 12, in <module>
from cryptography import utils, x509
File "c:/users/cem/appdata/local/ov/pkg/isaac-sim-4.1.0/exts/omni.pip.cloud/pip_prebundle/cryptography/x509/__init__.py", line 7, in <module>
from cryptography.x509 import certificate_transparency, verification
File "c:/users/cem/appdata/local/ov/pkg/isaac-sim-4.1.0/exts/omni.pip.cloud/pip_prebundle/cryptography/x509/verification.py", line 20, in <module>
Store = rust_x509.Store
AttributeError: module 'x509' has no attribute 'Store'
You can simply remove the c:/users/cem/appdata/local/ov/pkg/isaac-sim-4.1.0/exts/omni.pip.cloud/pip_prebundle/cryptography
directory and this issue should be resolved.