MuJoCo环境介绍,许可证获取方法可参考强化学习环境:MUJOCO 安装踩坑记录(2020年7月18日)。在强化学习环境:MUJOCO 安装踩坑记录(2020年7月18日)中,博主详细介绍了他安装MUJOCO时遇到的问题与尝试解决问题采取的方法,最终他的问题得到了解决。按博主在文未的原话:“每个人的系统环境都有所差别,所以如果不成功,可以挑选上面的各种解决方案进行尝试,如果还有问题,也欢迎留言探讨!”我在ubuntu系统下就无法借鉴它的方法,但是还是给我指了一个正确的方向,并让我相信,这个问题很普遍,并且是可以解决的。有幸经过几步尝试,我也成功安装了MUJOCO,本博客给出安装的过程,遇到的问题以及解决的方法。

系统相关配置如下:

  • ubuntu 18.04 / x86_64
  • anaconda3
  • python 3.6
  • MuJoCo 200

Install MuJoCo

  1. Obtain a 30-day free trial on the MuJoCo website or free license if you are a student. The license key will arrive in an email with your username and password.
  2. Download the MuJoCo version 2.0 binaries for Linux or https://www.roboti.us/download/mujoco200_macos.zip.
  3. Unzip the downloaded mujoco200 directory into ~/.mujoco/mujoco200, and place your license key (the mjkey.txt file from your email) at ~/.mujoco/mjkey.txt.
  4. 设置环境变量:gedit ~/.bashrc,在打开的文件未尾添加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.mujoco/mujoco200/bin
  5. 测试activation key:
cd ~/.mujoco
cp mjkey.txt ~/.mujoco/mujoco200/bin/
cd ~/.mujoco/mujoco200/bin/
./simulate

MuJoCo Pro version 2.00
在这里插入图片描述

note: 第一步的获取许可证时,点击 MuJoCo website,填写相关信息和接收文件的邮箱,等待系统给你发mjkey.txt,然后进行第2,3步。获取步骤可参考Installing Mujoco py on Linux中的相关步骤。

Install and use mujoco-py

    1. 建立conda虚拟环境
    conda create -n mujoco-env python=3.6
    conda activate mujoco-env
    conda install pytorch torchvision -c soumith
    pip install -r gym matplotlib pybullet stable-baselines3 # https://github.com/ikostrikov/pytorch-a2c-ppo-acktr-gail
    
    1. 在虚拟环境中安装mujoco
    conda activate mujoco-env
    pip install mujoco_py==2.0.2.8
    
    1. 测试mujoco_py
      conda activate mujoco-env
      python
      >> import mujoco_py
      

    报错1:Missing GLFW
    解决:终端执行安装缺失依赖包sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3

    继续还报错2:FileNotFoundError: [Errno 2] No such file or directory: 'patchelf'

    解决:终端执行安装缺失依赖包sudo apt-get install patchelf

    再试:

    conda activate mujoco-env
    python
    >>> import mujoco_py
    running build_ext
    >>> import os
    >>> mj_path, _ = mujoco_py.utils.discover_mujoco()
    >>> xml_path = os.path.join(mj_path, 'model', 'humanoid.xml')
    >>> model = mujoco_py.load_model_from_path(xml_path)
    >>> sim = mujoco_py.MjSim(model)
    >>> print(sim.data.qpos)
    [0.  0.  1.4 1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
     0.  0.  0.  0.  0.  0.  0.  0.  0.  0. ]
    >>> sim.step()
    >>> print(sim.data.qpos)
    [-1.12164337e-05  7.29847036e-22  1.39975300e+00  9.99999999e-01
      1.80085466e-21  4.45933954e-05 -2.70143345e-20  1.30126513e-19
     -4.63561234e-05 -1.88020744e-20 -2.24492958e-06  4.79357124e-05
     -6.38208396e-04 -1.61130312e-03 -1.37554006e-03  5.54173825e-05
     -2.24492958e-06  4.79357124e-05 -6.38208396e-04 -1.61130312e-03
     -1.37554006e-03 -5.54173825e-05 -5.73572648e-05  7.63833991e-05
     -2.12765194e-05  5.73572648e-05 -7.63833991e-05 -2.12765194e-05]
    >>> 
    

    至此,mujoco安装成功!!!


    by windSeS 2021-4-8