Ubuntu 20.04上安装MuJoCo 210
1. 安装 MuJoCo 210 本体
(1)下载与解压
下载:https://github.com/deepmind/mujoco/releases/download/2.1.0/mujoco210-linux-x86_64.tar.gz
从MuJoCo的官方GitHub仓库下载mujoco210-linux-x86_64.tar.gz文件。
然后在终端中执行以下命令:
创建隐藏文件夹存放MuJoCo
mkdir ~/.mujoco
将下载的压缩包解压至目标文件夹。请将路径替换为你的实际下载路径。
tar -zxvf ~/Downloads/mujoco210-linux-x86_64.tar.gz -C ~/.mujoco
(2)配置环境变量
你需要将MuJoCo的库路径添加到系统环境变量中,这是能让系统找到MuJoCo库文件的关键一步。
使用文本编辑器(如 gedit)打开用户环境配置文件 ~/.bashrc:
gedit ~/.bashrc
在文件末尾添加以下行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ubuntu2004/.mujoco/mujoco210/bin
保存并关闭文件后,使配置立即生效:
source ~/.bashrc
• 测试MuJoCo安装
现在可以测试MuJoCo本身是否安装成功。运行以下命令:
cd ~/.mujoco/mujoco210/bin./simulate ../model/humanoid.xml
如果安装正确,应该会弹出一个显示双足人形机器人模型的图形界面。关闭窗口即可。
2. 安装 mujoco-py (Python接口)
MuJoCo 210本体安装成功后,接下来安装其Python绑定mujoco-py。
• 创建Python虚拟环境
强烈建议使用Conda或venv创建一个独立的虚拟环境,以避免包版本冲突。这里以Conda为例(请确保已安装Anaconda或Miniconda):
# 创建一个名为mujoco_env,Python版本为3.8或3.9的环境
conda create -n mujoco_env python=3.10
conda activate mujoco_env
• 安装系统依赖库
在安装mujoco-py之前,需要先安装一些系统级的依赖库。这些是编译过程中必需的。
sudo apt update
sudo apt install libgl1-mesa-glx libglfw3 libosmesa6-dev libglew-dev patchelf libegl1-mesa-dev
• 安装mujoco-py
在激活的虚拟环境中,使用pip安装mujoco-py。指定版本范围可以确保安装与MuJoCo 210兼容的版本。
pip install 'mujoco-py<2.2,>=2.1'
3. 验证安装并排查常见问题
安装完成后,必须进行验证以确保一切工作正常。
• 基础验证
在虚拟环境中运行Python,尝试导入mujoco_py并加载一个模型。
import mujoco_py
import os
# 自动发现MuJoCo路径
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)
如果程序能正常运行并打印出两排数字,说明mujoco-py已成功安装。
• 常见错误与解决方案
在安装过程中,你可能会遇到一些典型问题,以下是解决方法:
- GLEW初始化错误 (GLEW initalization error: Missing GL version)
在~/.bashrc文件中添加以下环境变量,然后运行source ~/.bashrc。
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so
如果上述路径不存在,可以尝试查找确切的libGLEW.so文件位置
sudo find /usr -name "libGLEW.so"
-
Cython编译错误 (Error compiling Cython file)
这通常是由于Cython版本不兼容导致的。可以尝试降级Cython -
缺少patchelf或gcc等工具
如果之前安装系统依赖时遗漏了某些包,可能会报错。确保已完整执行上述的sudo apt install ...命令。
