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 等高级封装库。

9731

被折叠的 条评论
为什么被折叠?



