MuJoCo 物理引擎

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 已免费开源,但仍需获取许可证密钥:

  1. 访问 MuJoCo 官网

  2. 点击 "Get License" 下载 mjkey.txt

  3. 将密钥文件保存到指定位置:

    bash

  1. mkdir -p ~/.mujoco
    cp mjkey.txt ~/.mujoco/

3. 安装 MuJoCo 本体

方法一:直接下载(推荐)
  1. 官网下载 对应平台的压缩包(如 mujoco-2.3.7-linux-x86_64.tar.gz

  2. 解压并安装:

    bash

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值