Mujoco安装

本文将介绍Mujoco的安装过程。

1 介绍

安装平台:Ubuntu16.04 + Mujoco 2.0 + mujoco_py

2 证书的获取

2021年10月18日,DeepMind收购了Mujoco,目前从 https://www.roboti.us/license.html 提供了一个免费的证书,可以用到2031年10月18日。

Mujoco不同的身份可以获取不同的证书,用学生邮箱(edu)可以获取到一年的使用时间。
证书获取地址见:https://www.roboti.us/license.html.

学生身份获取 license 的操作流程是:

  1. 首先通过提交自己的信息,如下图所示,申请一个Account Number(这可能需要几天的时间)。
    1
  2. 在下图中点击 Linux,会下载一个 getid_linux 的文件,执行下面的指令以获取你要注册的计算机的 id。
    1
    2
    3
    cd ~/Downloads            # 打开文件下载目录
    chmod a+x getid_linux # 获取权限
    ./getid_linux # 获取计算机id
  3. 将邮件中的 Account Number 和获取到的 computer id 填入下图所示的位置,再点击 Register Computer
    2
  4. 成功之后会再收到一封邮件,会包含附件 mjkey.txt

3 Mujoco的安装

3.1 安装流程

  1. 下载 MuJoCo version 2.0 Linux 版本 :https://www.roboti.us/download/mujoco200_linux.zip。
  2. 执行下列指令。
    1
    2
    3
    4
    5
    6
    7
    8
    mkdir ~/.mujoco                                    # 创建文件夹
    sudo cp mujoco200_linux.zip的文件路径 ~/.mujoco # 复制
    cd ~/.mujoco # 进入隐藏文件夹
    unzip mujoco200_linux.zip # 解压
    mv mujoco200_linux mujoco200 # 将mujoco200_linux重命名为mujoco200
    cd Downloads # 进入下载将mjkey.txt的文件夹
    sudo cp mjkey.txt ~/.mujoco/ # 复制秘钥到路径
    sudo cp mjkey.txt ~/.mujoco/mujoco200/bin # 复制秘钥到路径
  3. 执行下列指令验证是否安装成功。
    1
    2
    cd ~/.mujoco/mujoco200/bin
    ./simulate ../model/humanoid.xml
  4. 顺利的话,会出现下图所示的结果。
    3

3.2 环境变量配置

~/.bashrc 文件中进行配置:

1
2
3
4
5
6
sudo gedit ~/.bashrc              
# 打开文件,并在打开的窗口最后加入以下2行内容,注意修改自己的路径
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/你自己的用户名/.mujoco/mujoco200/bin
# 关闭文件后,执行下列语句以使配置生效
source ~/.bashrc

4 mujoco_py的安装

4.1 mujoco_py的下载

执行下列语句下载 mujoco_py。

1
git clone https://github.com/openai/mujoco-py.git

4.2 mujoco_py的安装

依赖项的安装。

1
sudo apt install libosmesa6-dev

如果不安装这个依赖项,可能会出现第5节中的问题。

4.2.1 源码安装方式

安装mujoco_py,可以安装在anaconda的虚拟环境中,也可以直接安装在系统中。它要求Python的环境最小为 3.6 版本,我为了方便,用anaconda装了 Python3.7。

1
2
3
4
5
6
7
8
9
10
conda create --name mujoco python=3.7 #创建一个名为 mujoco 的虚拟环境
conda activate mujoco
cd mujoco_py 下载路径
pip install -r requirements.txt # 安装需要的环境
# pip3 install -U 'mujoco-py<2.1,>=2.0' # 官网推荐安装方式,往往会报错
pip install -r requirements.dev.txt
cd ~/mujoco-py/vendor
./Xdummy-entrypoint
cd ..
python setup.py install

4.2.2 个人推荐安装方式

官网推荐的安装方式在安装完运行程序的时候一直提示 numpy 与其他的不兼容,也许是程序依赖的其他库版本与安装的mujoco版本不兼容,因此采用了另一种更简单的安装方式:

1
2
3
conda create --name mujoco2028 python=3.6 #创建一个名为 mujoco 的虚拟环境
conda activate mujoco2028
pip install mujoco_py==2.0.2.8

4.3 验证安装成功

1
2
3
4
5
6
7
8
9
10
$ python3
>>> import mujoco_py # 注意这一步是否有下一节中提到的错误
>>> 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) # 出现第一组结果
>>> sim.step()
>>> print(sim.data.qpos) # 出现第二组结果

上述指令运行结果如下所示:
4

运行 mujoco_py 中自带的例子:

1
2
cd ~/mujoco-py/examples/            # 打开 mujoco_py 的 examples 路径
python3 setting_state.py

成功的话将会出现下面的结果。

5 出现的问题

我在执行4.3节的第二行指令 import mujoco_py 时,遇到了如下问题:
6

解决的方案就是安装4.2节中提到的依赖库 libosmesa6-dev.

使用4.2.1的安装方式在 import mujoco_py 的时候,可能会提示 gcc 错误,
需要执行

1
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev

更多的问题请参考[5]的解决方案。

参考链接

  1. Linux系统 Ubuntu18.04 成功安装Mujoco、mujoco_py 详细步骤、安装教程(也可在虚拟环境中安装Mujoco
  2. mujoco以及mujoco-py的安装
  3. 强化学习环境:MuJoCo 安装踩坑记录
  4. Ubuntu 16.04 安装 mujoco, mujoco_py 和 gym
  5. 深度强化学习环境安装(gym,mujoco,mujoco_pybaselines)
------ 本文结束感谢您的阅读------
Donate a cup of cola?