RoboHive
uses git submodules to resolve dependencies. Please follow steps exactly as below to install correctly.
-
We recommend installaition within a conda environement. If you don't have one yet, create one using
conda create -n robohive python=3.8 conda activate robohive
-
Robohive can be installed directly from the PyPi. Additional flags can be supplied to use additional features
# only mujoco as available sim_backend pip install robohive # mujoco_py+mujoco as available sim_backend pip install robohive[mujoco_py] # mujoco_py+mujoco+visual encoders pip install robohive[mujoco_py, encoder]
RoboHive will throw informative errors if any of these packages are invoked but not installed
# Initialize robohive (one time) robohive_init
-
For editable installation, clone this repo (on a tag) with pre-populated submodule dependencies as -
git clone --branch <tag_name/branch_name> --recursive https://github.com/vikashplus/robohive.git
Note: RoboHive agressively uses git-submodules. Therefore, it is important to use the exact command above for installation. Basic understanding of how to work with submodules is expected.
# only mujoco as available sim_backend $ pip install -e robohive # mujoco_py+mujoco as available sim_backend $ pip install -e robohive[mujoco_py] # mujoco_py+mujoco+visual encoder pip install -e robohive[mujoco_py, encoder] # with a0 binding for realworld robot $ pip install -e robohive[a0]
RoboHive will throw informative errors if any of these packages are invoked but not installed
# Initialize robohive (one time) robohive_init
-
To use
R3M
,RRL
,VC
as visual encoders.- For PyPI installation: Encoders can't be directly installated from PyPi as these encoders don't have PyPi packages. (we are working with the authors for a fix). To use the encoders, simply try using the encoders and follow the instructions on the console
- For editable installation
Open setup.py, uncomment the
r3m
andvc_models
dependency underencoder
and then run
# all visual encoders pip install robohive[encoder]
-
You can visualize the environments with random controls using the below command
$ python robohive/utils/examine_env.py -e FrankaReachRandom-v0
The package relies on mujoco-py
which might be the trickiest part of the installation. See known issues
below and also instructions from the mujoco-py page if you are stuck with mujoco-py installation.
- Install osmesa related dependencies:
$ sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev build-essential libglfw3
-
Visualization in linux: If the linux system has a GPU, then mujoco-py does not automatically preload the correct drivers. We added an alias
MJPL
in bashrc (see instructions) which stands for mujoco pre-load. When runing any python script that requires rendering, prepend the execution with MJPL.- Update
bashrc
by adding the following lines and source italias MJPL='LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/nvidia-384/libGL.so'
- Use this preload when launching your scripts
$ MJPL python script.py
- Update
-
If there are issues with install of pytorch, please follow instructions from the pytorch website to install it properly based on the specific version of CUDA (or CPU-only) you have.
-
If you encounter a patchelf error in mujoco_py install, you can fix this with the following command when inside the anaconda env:
conda install -c anaconda patchelf
. See this page for additional info.
-
If there are issues with install of pytorch, please follow instructions from the pytorch website to install it properly.
-
If you encounter a patchelf error in mujoco_py install, you can fix this with the following command when inside the anaconda env:
conda install -c anaconda patchelf
. See this page for additional info. -
GCC error in Mac OS: If you get a GCC error from mujoco-py, you can get the correct version mujoco-py expects with
brew install gcc --without-multilib
. This may require uninstalling other versions of GCC that may have been previously installed withbrew remove gcc@6
for example. You can see which brew packages were already installed withbrew list
.
- Errors related to osmesa during installation. This is a
mujoco-py
build error and would likely go away if the following command is used before creating the conda environment. If the problem still persists, please contact the developers of mujoco-py
$ sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev