完全安装MuJoCo需要两个步棸(本文安装的是2.1):
# gedit coding
gedit ~/.bashrc
# 添加路径:
export LD_LIBRARY_PATH=~/.mujoco/mujoco210/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco210/bin
# 退出后,刷新环境:
source ~/.bashrc
cd ~/.mujoco/mujoco210/bin && ./simulate ../model/humanoid.xml
mujcoo-py的安装我选择从源码安装:
# 下载源码
git clone https://github.com/openai/mujoco-py.git
# 激活conda环境
source activate "you_env_name" // 或者 conda activate "you_conda_name"
(mujoco_lab) ubuntu@ubuntu:~/桌面$ cd ~/mujoco-py
(mujoco_lab) ubuntu@ubuntu:~/桌面$ cp requirements.txt requirements.dev.txt ./mujoco_py
(mujoco_lab) ubuntu@ubuntu:~/桌面$ cd mujoco_py
(mujoco_lab) ubuntu@ubuntu:~/桌面$ pip install -r requirements.txt
(mujoco_lab) ubuntu@ubuntu:~/桌面$ pip install -r requirements.dev.txt
完成后,验证是否安装成功:
pip install -U 'mujoco-py<2.2,>=2.1'
当出现报错时,请参考
最后,添加环境变量
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/x86_64-linux-gnu/libGL.so
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/buduo/.mujoco/mujoco210/bin
#打开终端并激活环境
ubuntu@ubuntu:~/桌面$ source activate mujoco_lab
# 打开python命令行,可使用python or python3 ;效果一样
(mujoco_lab) ubuntu@ubuntu:~/桌面$ python
Python 3.8.13 (default, Mar 28 2022, 11:38:47)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import mujoco_py
>>> import os
>>> 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)
[0. 0. 1.4 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]
>>> sim.step()
>>> print(sim.data.qpos)
[-1.12164337e-05 7.29847036e-22 1.39975300e+00 9.99999999e-01
1.80085466e-21 4.45933954e-05 -2.70143345e-20 1.30126513e-19
-4.63561234e-05 -1.88020744e-20 -2.24492958e-06 4.79357124e-05
-6.38208396e-04 -1.61130312e-03 -1.37554006e-03 5.54173825e-05
-2.24492958e-06 4.79357124e-05 -6.38208396e-04 -1.61130312e-03
-1.37554006e-03 -5.54173825e-05 -5.73572648e-05 7.63833991e-05
-2.12765194e-05 5.73572648e-05 -7.63833991e-05 -2.12765194e-05]
>>>
完成以上测试代表,安装完成。
此时,诡异的一幕出现了,在pycharm中运行,会出现 缺少环境依赖的问题(因为我已经修好了,所以没有保存问题图片),大概如下:
```bash
Exception:
Missing path to your environment variable.
Current values LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64/
Please add following line to .bashrc:
export D_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/buduo/.mujoco/mujoco210/bin
如果,你按照之前的步棸来的话,此时你的~/.bashrc文件,应如下:
# mujoco path
export LD_LIBRARY_PATH=~/.mujoco/mujoco210/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco210/bin
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/x86_64-linux-gnu/libGL.so
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ubuntu/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
所以此时,出现的诡异现象:终端可执行无环境变量问题, pycharm出现环境问题;
sudo vim /etc/profile
#末尾添加如下环境语句
export PATH=~/Downloads/pycharm-community-你的版本号/bin:$PATH
#如:export PATH=~/Downloads/pycharm-community-2017.3.3/bin:$PATH
# 保存并退出
:wq
# 重启系统
reboot
pycharm.sh
我换了一个测试代码:
import gym
import mujoco_py
# os.environ.get("LD_LIBRARY_PATH", "")
# env = gym.make("LunarLander-v2", render_mode="human")
env = gym.make('Ant-v4', ctrl_cost_weight=0.1,render_mode="human")
# env = gym.make('InvertedDoublePendulum-v4',render_mode="human")
env.action_space.seed(42)
observation, info = env.reset(seed=42)
for _ in range(10000):
observation, reward, terminated, truncated, info = env.step(env.action_space.sample())
print(observation)
env.render()
if terminated or truncated:
observation, info = env.reset()