MuJoCo 物理引擎的详细安装和使用指南,包含最新版本(MuJoCo 2.3.x+)的安装方法:
1. 安装准备
系统要求
-
支持平台:Linux/macOS/Windows (x86_64)
-
Python 版本:3.7+
-
必要依赖:
bash
-
# Ubuntu/Debian sudo apt install build-essential libgl1-mesa-dev libglfw3 patchelf # macOS (Homebrew) brew install glfw
2. 获取许可证(免费/付费)
自 2021 年 10 月后,MuJoCo 已免费开源,但仍需获取许可证密钥:
-
访问 MuJoCo 官网
-
点击 "Get License" 下载
mjkey.txt
-
将密钥文件保存到指定位置:
bash
-
mkdir -p ~/.mujoco cp mjkey.txt ~/.mujoco/
3. 安装 MuJoCo 本体
方法一:直接下载(推荐)
-
从 官网下载 对应平台的压缩包(如
mujoco-2.3.7-linux-x86_64.tar.gz
) -
解压并安装:
bash
-
tar -xf mujoco-2.3.7-linux-x86_64.tar.gz mkdir -p ~/.mujoco/mujoco-2.3.7 mv mujoco-2.3.7 ~/.mujoco/ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco-2.3.7/bin' >> ~/.bashrc source ~/.bashrc
方法二:通过 pip 安装
bash
pip install mujoco
4. Python 接口安装
官方推荐(mujoco
库):
bash
pip install mujoco
旧版兼容接口(mujoco-py
,已弃用):
bash
pip install 'mujoco-py<2.2,>=2.1'
5. 验证安装
运行以下 Python 代码测试:
python
import mujoco model = mujoco.MjModel.from_xml_path('path/to/model.xml') # 需要模型文件 data = mujoco.MjData(model) while True: mujoco.mj_step(model, data) print(data.qpos) # 打印关节位置
或使用内置模型快速测试:
python
import mujoco import numpy as np model = mujoco.MjModel.from_xml_string(""" <mujoco> <worldbody> <light diffuse=".5 .5 .5" pos="0 0 3" dir="0 0 -1"/> <geom type="plane" size="1 1 0.1" rgba=".9 0 0 1"/> <body pos="0 0 1"> <joint type="free"/> <geom type="box" size=".1 .2 .3" rgba="0 .9 0 1"/> </body> </worldbody> </mujoco> """) data = mujoco.MjData(model) mujoco.mj_step(model, data) # 模拟一步 print("验证成功!模型已加载。")
6. 与 Gym 集成
安装 MuJoCo 环境的 Gym 封装:
bash
pip install gym[mujoco]
示例:运行 Ant 环境
python
import gym env = gym.make('Ant-v4', render_mode='human') obs = env.reset() for _ in range(1000): action = env.action_space.sample() obs, reward, done, _, _ = env.step(action) if done: obs = env.reset() env.close()
7. 常见问题解决
问题1:GLFW 初始化失败
bash
# Ubuntu sudo apt install libglfw3-dev # macOS brew install glfw
问题2:许可证错误
-
确认
mjkey.txt
已放在正确路径:bash
-
ls ~/.mujoco/mjkey.txt
-
设置环境变量:
bash
-
export MUJOCO_PY_MJKEY_PATH=~/.mujoco/mjkey.txt
问题3:Python 版本冲突
建议使用虚拟环境:
bash
python -m venv mujoco_env source mujoco_env/bin/activate # Linux/macOS mujoco_env\Scripts\activate # Windows pip install mujoco
8. 模型文件与资源
-
官方模型库:解压后默认在
~/.mujoco/mujoco-2.3.7/model/
-
自定义模型:编辑 XML 文件,参考 MJCF 文档
9. 可视化工具
官方查看器:
bash
cd ~/.mujoco/mujoco-2.3.7/bin ./simulate ../model/humanoid.xml
Python 可视化:
python
import mujoco.viewer with mujoco.viewer.launch_passive(model, data) as viewer: while viewer.is_running(): mujoco.mj_step(model, data) viewer.sync()
通过以上步骤,您可以在研究机器人控制、强化学习等领域高效使用 MuJoCo。如需处理复杂场景,建议结合 DeepMind Control Suite 或 Robosuite 等高级封装库。