Direct Installation#
First, clone the RoboVerse project:
git clone [email protected]:RoboVerseOrg/RoboVerse.git
cd RoboVerse
MetaSim uses uv to manage dependencies.
To install uv
, please refer to the official guide, or run:
pip install uv
Installation Commands#
MuJoCo, SAPIEN v2/3, Genesis, and PyBullet can be installed directly via uv pip install -e ".[<simulator>]"
. However, IsaacLab and IsaacGym must be installed manually.
Simulator |
Installation Command |
Supported Python Versions |
Recommended Python Version |
---|---|---|---|
MuJoCo |
|
3.9-3.13 |
3.10 |
SAPIEN v2 |
|
3.7-3.11 |
3.10 |
SAPIEN v3 |
|
3.8-3.12 |
3.10 |
Genesis |
|
3.10-3.12 |
3.10 |
PyBullet |
|
3.6-3.11 |
3.10 |
IsaacLab v1.4 |
See below |
3.10 |
3.10 |
IsaacLab v2 |
See below |
3.10 |
3.10 |
IsaacGym |
See below |
3.6-3.8 |
3.8 |
Note
Recommended Python versions are guaranteed to work. For other Python versions, the RoboVerse team hasn’t fully tested MetaSim. Please let us know if you encounter any issues.
Please also check the prerequisites for supported platforms.
Install IsaacLab v1.4#
uv pip install -e ".[isaaclab]"
cd third_party
git clone --depth 1 --branch v1.4.1 [email protected]:isaac-sim/IsaacLab.git IsaacLab && cd IsaacLab
sed -i '/^EXTRAS_REQUIRE = {$/,/^}$/c\EXTRAS_REQUIRE = {\n "sb3": [],\n "skrl": [],\n "rl-games": [],\n "rsl-rl": [],\n "robomimic": [],\n}' source/extensions/omni.isaac.lab_tasks/setup.py
./isaaclab.sh -i
Note
pip
may raise version conflicts. It doesn’t affect the usage of MetaSim.This installation method is only guaranteed to work on Ubuntu 22.04. To install on other platforms, please refer to the official guide.
Install IsaacLab v2#
uv pip install -e ".[isaaclab2]"
cd third_party
git clone --depth 1 --branch v2.0.2 [email protected]:isaac-sim/IsaacLab.git IsaacLab2 && cd IsaacLab2
./isaaclab.sh -i
Note
pip
may raise version conflicts. It doesn’t affect the usage of MetaSim.This installation method is only guaranteed to work on Ubuntu 22.04. To install on other platforms, please refer to the official guide.
Warning
We are trying to be compatible with both IsaacLab v1.4 and v2, but IsaacLab v2 may not work as robustly as v1.4. Known issues include new constraints on USD assets.
Install IsaacGym#
cd third_party
wget https://developer.nvidia.com/isaac-gym-preview-4 \
&& tar -xf isaac-gym-preview-4 \
&& rm isaac-gym-preview-4
find isaacgym/python -type f -name "*.py" -exec sed -i 's/np\.float/np.float32/g' {} +
cd ..
uv pip install -e ".[isaacgym]" 'isaacgym @ file:${PROJECT_ROOT}/third_party/isaacgym/python'
Note
This installation method is only guaranteed to work on Ubuntu 22.04. To install on other platforms, you can refer to the clone of the official guide.
Tip
If you encounter the error FileNotFoundError: [Errno 2] No such file or directory: '.../lib/python3.8/site-packages/isaacgym/_bindings/src/gymtorch/gymtorch.cpp'
, you can try to run the following command:
mkdir -p $CONDA_PREFIX/lib/python3.8/site-packages/isaacgym/_bindings/src
cp -r third_party/isaacgym/python/isaacgym/_bindings/src/gymtorch $CONDA_PREFIX/lib/python3.8/site-packages/isaacgym/_bindings/src/gymtorch
If you encounter the error ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
, you can try to run the following command:
export LD_LIBRARY_PATH=$CONDA_HOME/envs/metasim_isaacgym/lib:$LD_LIBRARY_PATH
where $CONDA_HOME
is the path to your conda installation. It is typically ~/anaconda3
, ~/miniconda3
or ~/miniforge3
.
You can also add it to your ~/.bashrc
to make it permanent.
Combine Simulators#
Feel free to combine the above commands. For example, if you want to install MuJoCo and IsaacLab v1.4 at the same time, you can run:
uv pip install -e ".[mujoco,isaaclab]"
cd third_party
git clone --depth 1 --branch v1.4.1 [email protected]:isaac-sim/IsaacLab.git IsaacLab && cd IsaacLab
sed -i '/^EXTRAS_REQUIRE = {$/,/^}$/c\EXTRAS_REQUIRE = {\n "sb3": [],\n "skrl": [],\n "rl-games": [],\n "rsl-rl": [],\n "robomimic": [],\n}' source/extensions/omni.isaac.lab_tasks/setup.py
./isaaclab.sh -i
Note
Every time you install multiple simulators, you need to use one single command to deal with dependencies correctly. For example, if you want to install MuJoCo, SAPIEN v3, and Genesis at the same time, you should run:
uv pip install -e ".[mujoco,sapien3,genesis]"
instead of running them one by one:
uv pip install -e ".[mujoco]"
uv pip install -e ".[sapien3]"
uv pip install -e ".[genesis]"