Direct Installation
===================
First, clone the RoboVerse project:
.. code-block:: bash
git clone git@github.com:RoboVerseOrg/RoboVerse.git
cd RoboVerse
MetaSim uses `uv `_ to manage dependencies.
To install ``uv``, please refer to the `official guide `_, or run:
.. code-block:: bash
pip install uv
Installation Commands
---------------------
MuJoCo, SAPIEN v2/3, Genesis, and PyBullet can be installed directly via ``uv pip install -e ".[]"``. However, IsaacLab and IsaacGym must be installed manually.
.. list-table::
:header-rows: 1
:widths: 10 30 10 10
* - Simulator
- Installation Command
- Supported Python Versions
- Recommended Python Version
* - MuJoCo
- ``uv pip install -e ".[mujoco]"``
- 3.9-3.13
- 3.10
* - SAPIEN v2
- ``uv pip install -e ".[sapien2]"``
- 3.7-3.11
- 3.10
* - SAPIEN v3
- ``uv pip install -e ".[sapien3]"``
- 3.8-3.12
- 3.10
* - Genesis
- ``uv pip install -e ".[genesis]"``
- 3.10-3.12
- 3.10
* - PyBullet
- ``uv pip install -e ".[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 <./prerequisite.html>`_ for supported platforms.
Install IsaacLab v1.4
---------------------
.. code-block:: bashx
uv pip install -e ".[isaaclab]"
cd third_party
git clone --depth 1 --branch v1.4.1 git@github.com: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::
1. ``pip`` may raise version conflicts. It doesn't affect the usage of MetaSim.
2. 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
-------------------
.. code-block:: bash
uv pip install -e ".[isaaclab2]"
cd third_party
git clone --depth 1 --branch v2.0.2 git@github.com:isaac-sim/IsaacLab.git IsaacLab2 && cd IsaacLab2
./isaaclab.sh -i
.. note::
1. ``pip`` may raise version conflicts. It doesn't affect the usage of MetaSim.
2. 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
----------------
.. code-block:: bash
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:
.. code-block:: bash
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:
.. code-block:: bash
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:
.. code-block:: bash
uv pip install -e ".[mujoco,isaaclab]"
cd third_party
git clone --depth 1 --branch v1.4.1 git@github.com: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:
.. code-block:: bash
uv pip install -e ".[mujoco,sapien3,genesis]"
instead of running them one by one:
.. code-block:: bash
uv pip install -e ".[mujoco]"
uv pip install -e ".[sapien3]"
uv pip install -e ".[genesis]"