Mujoco安装过程记录

该文章已生成可运行项目,

Mujoco目前已经开源了(google的deepmind收购之后),作为具身智能领域的出色仿真环境,这里记录一下学习它的过程.
首先要安装mujoco需要两个部分,一个是仿真环境本身,一个是它的python的api接口.分别是mujoco和mujoco

1.下载mujoco

前往github的观望下载即可:https://github.com/google-deepmind/mujoco/releases,请下载最新的版本.
在这里插入图片描述
下载自己对应的版本即可.解压文件,然后添加一下环境变量LD_LIBRARY_PATH:

在这里插入图片描述

export LD_LIBRARY_PATH=/home/cyun/Downloads/apps/mujoco210/bin

测试一下mujoco,我们可以启动它的例程:在bin文件夹下启动simulate
在这里插入图片描述

./simulate ../model/humanoid.xml

在这里插入图片描述
很难想象一个几MB的文件就实现了这个过程.

2.安装mujoco-py

克隆一下源码:
由于mujoco-py不支持2.1.0之后的版本,所以最新版的请直接跳过这里!

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

创建虚拟环境

conda create -n mujo python=3.8
conda activate mujo

进入py库并安装

cd ~/mujoco-py
pip3 install -U 'mujoco-py<2.2,>=2.1'
pip3 install -r requirements.txt
pip3 install -r requirements.dev.txt
python3 setup.py install

如果是最新版的就不要使用这个了,详情见https://github.com/google-deepmind/mujoco/blob/main/python/README.md
在这里插入图片描述
但是这里也标注了python的版本,最低也是py3.9,所以重新创建一个python版本,推荐使用py11以下的.然后pip即可安装:

pip install mujoco

在这里插入图片描述
最终测试环节:
新建脚本,执行:

import time

import mujoco
import mujoco.viewer

m = mujoco.MjModel.from_xml_path('/home/cyun/Downloads/apps/mujoco-3.3.0/model/humanoid/humanoid.xml')
d = mujoco.MjData(m)

with mujoco.viewer.launch_passive(m, d) as viewer:
  # Close the viewer automatically after 30 wall-seconds.
  start = time.time()
  while viewer.is_running() and time.time() - start < 30:
    step_start = time.time()

    # mj_step can be replaced with code that also evaluates
    # a policy and applies a control signal before stepping the physics.
    mujoco.mj_step(m, d)

    # Example modification of a viewer option: toggle contact points every two seconds.
    with viewer.lock():
      viewer.opt.flags[mujoco.mjtVisFlag.mjVIS_CONTACTPOINT] = int(d.time % 2)

    # Pick up changes to the physics state, apply perturbations, update options from GUI.
    viewer.sync()

    # Rudimentary time keeping, will drift relative to wall clock.
    time_until_next_step = m.opt.timestep - (time.time() - step_start)
    if time_until_next_step > 0:
      time.sleep(time_until_next_step)```

实际安装了才发现,原来mujoco里面已经内嵌了仿真环境了,所以其实也不需要安装,直接通过pip安装就能一步到位了…看别人的安装过程其实也会有很强的误导作用
在py3.8中执行pip安装的话:

cyun@cyun:~$ pip show mujoco
Name: mujoco
Version: 3.2.3
Summary: MuJoCo Physics Simulator
Home-page: https://github.com/google-deepmind/mujoco
Author: 
Author-email: Google DeepMind <mujoco@deepmind.com>
License: Apache License 2.0
Location: /home/cyun/.local/lib/python3.8/site-packages
Requires: absl-py, etils, glfw, numpy, pyopengl
Required-by: 

最新的是3.2.3版本的
貌似也不低了,所以mujoco的安装过程其实安装了一个寂寞.

总结

被别人的文章误导了,只需要新建一个py3.8的环境mujoco,然后执行:
pip install mujoco就安装完了,然后可以用官方的模型来测试:https://github.com/google-deepmind/mujoco/tree/main/model
随便找一个xml,然后使用py的api来运行:

import time

import mujoco
import mujoco.viewer

m = mujoco.MjModel.from_xml_path('humanoid.xml')
d = mujoco.MjData(m)

with mujoco.viewer.launch_passive(m, d) as viewer:
  # Close the viewer automatically after 30 wall-seconds.
  start = time.time()
  while viewer.is_running() and time.time() - start < 30:
    step_start = time.time()

    # mj_step can be replaced with code that also evaluates
    # a policy and applies a control signal before stepping the physics.
    mujoco.mj_step(m, d)

    # Example modification of a viewer option: toggle contact points every two seconds.
    with viewer.lock():
      viewer.opt.flags[mujoco.mjtVisFlag.mjVIS_CONTACTPOINT] = int(d.time % 2)

    # Pick up changes to the physics state, apply perturbations, update options from GUI.
    viewer.sync()

    # Rudimentary time keeping, will drift relative to wall clock.
    time_until_next_step = m.opt.timestep - (time.time() - step_start)
    if time_until_next_step > 0:
      time.sleep(time_until_next_step)

就这么简单的过程,非要整源码,整mujoco-py,是吃饱了撑的.

本文章已经生成可运行项目
### MuJoCo 安装指南 以下是关于 MuJoCo安装流程及相关注意事项的详细介绍: #### 1. 基本概念与准备 MuJoCo 是一个多体动力学模拟器,广泛应用于机器人仿真和强化学习领域。为了顺利安装 MuJoCo 和其相关工具包(如 `mujoco-py`),需要满足以下条件: - **操作系统**: 支持 Windows、Linux 和 macOS。 - **硬件需求**: 需要 NVIDIA 显卡驱动程序以支持 GPU 渲染功能[^4]。 - **软件依赖**: - Python 版本建议为 3.7 至 3.9(高版本可能不兼容)。 - 安装前需确认已正确设置环境变量。 --- #### 2. 步骤一:下载 MuJoCo 引擎 访问 MuJoCo 官方网站获取最新版引擎文件,并按照对应平台完成解压操作。例如,在 Linux 下执行以下命令: ```bash wget https://www.roboti.us/download/mjpro150_linux.zip unzip mjpro150_linux.zip ``` 随后将路径加入 `.bashrc` 文件以便全局调用: ```bash export MUJOCO_KEY_PATH="~/.mujoco" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:~/mjpro150/bin" source ~/.bashrc ``` 上述方法适用于大多数情况下的基础配置[^1]。 --- #### 3. 步骤二:安装 Mujoco-Python 绑定库 从 v2.1.2 开始,官方提供了原生 Python API 接口用于简化开发过程。具体实现方式如下所示: ```python pip install mujoco==2.1.6 # 或者指定其他稳定版本号 ``` 如果遇到特定问题,则可尝试手动克隆源码仓库并编译安装: ```bash git clone https://github.com/openai/mujoco-py.git cd mujoco-py pip install -r requirements.txt pip install . ``` 此外还需特别关注某些额外组件的支持状态,比如 OpenGL 库初始化失败的情况可以通过调整显示协议来规避风险[^5]: ```bash sudo apt-get update && sudo apt-get install -y --no-install-recommends \ libgl1-mesa-dev libglfw3-dev xorg-dev ``` --- #### 4. 步骤三:集成 Gym 工具箱 当计划结合 OpenAI Gym 使用时,请遵循正确的顺序依次加载各模块以免引发冲突现象发生: ```bash pip uninstall gym # 如果存在旧版本则先行移除干净 pip install gym[mujoco]==0.26.* ``` 值得注意的是,不同框架间可能存在版本适配差异,因此务必仔细查阅文档说明部分[^3]。 --- #### 5. 测试验证环节 最后可通过运行样例脚本来判断整个部署工作是否顺利完成: ```python import mujoco.viewer as viewer from mujoco import MjModel, MjData model = MjModel.from_xml_path('path/to/your/model.xml') data = MjData(model) with viewer.launch_passive(model, data) as gui_viewer: while True: try: gui_viewer.sync() except Exception as e: break ``` --- ### 注意事项总结 尽管本文列举了一些常见错误处理办法,但在实际动手过程中仍可能出现个性化难题。此时推荐参照社区反馈或者提交 Issue 请求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值