- 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!
Make sure you have Isaac Sim 2023.1.1 installed.
Conda is required to install from source.
-
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 [email protected]:OpenRobotLab/GRUtopia.git
-
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 ...
-
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
-
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.
Make sure you have Docker and NVIDIA Container Toolkit installed. You can refer to the container installation doc of Isaac Sim for detailed instructions.
-
Clone the GRUtopia repository to any desired location.
$ git clone [email protected]:OpenRobotLab/GRUtopia.git
-
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 ...
-
Pull the Isaac Sim image (
docker login
is required, please refer to NGC Documents).$ docker pull nvcr.io/nvidia/isaac-sim:2023.1.1
-
Build docker image.
$ cd PATH/TO/GRUTOPIA/ROOT $ docker build -t grutopia:0.0.1 .
-
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
-
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 of127.0.0.1
).