ubuntu 20.04安装MuJoCo2.1

一、
参照mujoco-py在GitHub上的主页说明,进行安装
https://github.com/openai/mujoco-py/blob/master/README.md

Install MuJoCo
1 Download the MuJoCo version 2.1 binaries for Linux or OSX.
2 Extract the downloaded mujoco210 directory into ~/.mujoco/mujoco210.

安装完成后进行测试

cd ~/.mujoco/mujoco200/bin
./simulate ../model/humanoid.xml

二、
之后安装mujoco-py,是否进入虚拟环境我目前还不太了解具体原因,我是在虚拟环境下安装的
方法一

pip3 install -U 'mujoco-py<2.2,>=2.1'

出现问题
ubuntu 20.04安装MuJoCo2.1_第1张图片
可能是还没包含进来(2021-11月,此时mujoco刚刚开源)
方法二
于是参考:
https://blog.csdn.net/lllxxq141592654/article/details/92759986
https://zhuanlan.zhihu.com/p/103271894
https://blog.csdn.net/wq13552463699/article/details/115036626
之前自己已经建好了虚拟环境,于是进入虚拟环境,参照以下代码进行安装

cd ~/mujoco-py
pip install -r requirements.txt
pip install -r requirements.dev.txt
python setup.py install

都安装完后进行测试

python
import mujoco_py

先后报了两个错误:

Exception: 
Missing path to your environment variable. 
Current values LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:/home/cc/catkin_google_ws/install_isolated/lib:/home/cc/catkin_ws/devel/lib:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu
Please add following line to .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/cc/.mujoco/mujoco210/bin
Exception: 
Missing path to your environment variable. 
Current values LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:/home/cc/catkin_google_ws/install_isolated/lib:/home/cc/catkin_ws/devel/lib:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu:/usr/local/cuda-11.2/lib64:/home/cc/.mujoco/mujoco210/bin
Please add following line to .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia

于是把这两句添加到 .bashrc或者.zshrc中,然后source一下
(可能是跟教程不一样,上述三个教程都写了要添加环境变量,我添加了,不知道是不是格式不对,竟然不好使
网上写的添加变量的步骤:

gedit ~/.bashrc
export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
source ~/.bashrc

继续import进行测试,报错

FileNotFoundError: [Errno 2] No such file or directory: 'patchelf': 'patchelf'

这个简单,sudo apt-get install patchelf就行了
之后继续import,出现
在这里插入图片描述
没有其他的,就表明安装成功了
然后建立一个测试文件mujocotest.py,代码扔进去,

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. 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)
# [-2.09531783e-19  2.72130735e-05  6.14480786e-22 -3.45474715e-06
#   7.42993721e-06 -1.40711141e-04 -3.04253586e-04 -2.07559344e-04
#   8.50646247e-05 -3.45474715e-06  7.42993721e-06 -1.40711141e-04
#  -3.04253586e-04 -2.07559344e-04 -8.50646247e-05  1.11317030e-04
#  -7.03465386e-05 -2.22862221e-05 -1.11317030e-04  7.03465386e-05
#  -2.22862221e-05]

在文件所在的目录内进入虚拟环境,然后运行py文件

python mujocotest.py

输出两个矩阵,就算是安装完成了。

运行mujoco_py中自带的例子

cd ~/mujoco-py/examples/
python3 py文件
如
python3 setting_state.py 

报错

Creating window glfw
ERROR: GLEW initalization error: Missing GL version

Press Enter to exit ...Killed

解决办法:
把下列语句加入到 zshrc中,并source

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so

三、
gym安装
gym目前只支持mujoco1.5,原因是2.0及以后的版本还没完成测试,出过问题,所以开发者降级了版本。
详见https://github.com/openai/gym/issues/1883
但是mujoco现在开源了,版本到了2.1,不想再重装1.5,于是
具体的解除mujoco依赖的安装方法参见
https://blog.csdn.net/hehedadaq/article/details/109012048
https://blog.csdn.net/weixin_43192983/article/details/119381003(没试过)

里面由两种方法,我采用第二种,安装成功了,然后试了第一种,也没报错
四、
baselines不安装了,因为基于TensorFlow,我比较习惯pytorch,还是装elegantRL,但是目前elegantRL是基于pybullet gym的,不知道这么搞行不行
安装代码如下,这里注意一下,跟前面一样,需要下载下来之后,去修改文件夹中的setup.py,把pybullet这个给屏蔽掉

git clone https://github.com/AI4Finance-Foundation/ElegantRL.git
cd ElegantRL
pip3 install .

五、
安装robosuite
https://blog.csdn.net/qq_39816905/article/details/121501702
https://robosuite.ai/docs/installation.html#

可参考该文
https://zhuanlan.zhihu.com/p/103271894

六、
spinning up尽量还是别安装了,setup.py中的依赖的版本都过低,如需安装请重新构建一个虚拟环境,单独安装。

你可能感兴趣的:(ros,深度神经网络,装机琐记,ubuntu,linux,运维)