2022年4月下旬Windows10安装开源Mujoco和mujoco_py,奶奶都会安装成功的那种
首先,先说明一点————————————现在是北京时间——————————
2022年4月19日!!!!
时间和安装mujoco有什么关系吗?时间点很重要吗?答:有关系!!!很重要!!!为什么重要?你要知道mujoco在我现在所处的时间点上,在今天,它已经开源了!!!
看见了吗?mujoco开源的消息是21年10月下旬发的,但是此时DeepMind才刚刚收购mujoco,真的等到mujoco正式开源是在2022年。我估计应该是22年的3月底4月初mujoco真正的开源了。依据在下图:
——————赶时间的小伙伴直接从这里开始看——————
¥¥¥¥¥¥¥¥¥上面全是废话,是些背景知识,现在直接进入正题,讲安装教程¥¥¥¥¥¥¥¥
一、第一步 重点·背景知识
mujoco在现在我所处的时间点(22年5月12日17:35)的确已经开源了。
但是!!!开源了就意味着你就能在win10下安装并使用mujoco210的吗??答案是:不能!!
没错,别看mujoco开源了,但是win10真的安装不了最新版的mujoco210,MAC和Linux系统可以装mujoco210,但是如果你是win10,就算是在开源的现在,你也只能使用mujoco150版本!!!为什么?你问为什么?我就问你,你安装mujoco是不是用来做强化学习的?你用mujoco做强化学习你肯定还想使用gym库导入Humanoid-v2、Ant-v2等游戏环境吧?如果是,就对了。要知道,mujoco≠mujoco_py,而mujoco_py是OpenAI公司的产品,把mujoco买下的是DeepMind公司。两家不同的公司,这就意味着交接处会出问题。
DeepMind的mujoco210+OpenAI的mujoco_py2.10.14配合在一起可以在Linux、MAC系统下使用,但不能用在win10上。请看OpenAI在github上的一句话:
所以,win10的你,请您老老实实使用mujoco 150,毕竟能用比什么都重要。如果您头铁,就是要win10强行用mujoco210,那么你在使用gym库调用Humanoid环境时,一定会报出如下错误
distutils.errors.CompileError: command ‘D:\VS_IDE\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe’ failed with exit status 2
二、第二步 预安装
相信你能这么百度,你一定是已经装有visual studio、python、pycharm和gym库了,别告诉我你没装啊(没装就自己装)。这些安装后,才能在gym库里调用mujoco的游戏环境。
三、第三步 点此链接下载mujoco应用程序
这里给出mujoco的下载链接***mujoco***
1.点这里,把这个下了。
2.一定要在自己C盘的用户目录下(C:\Users\Bright)新建一个文件夹名为.mujoco
3.再在.mujoco文件里建一个mjpro150文件夹
4.将下载的zip解压到mjpro150中
5.把mjkey.txt文件下了,这里给出***下载链接***
点击这里直接下,现在开源了已经不需要发邮件申请licence了
6.将mjkey.txt文件放入C:\Users\xxx.mujoco文件夹以及C:\Users\xxx.mujoco\mjpro150\bin文件夹中
7.添加环境变量
在自己电脑上的“设置>环境变量”中找到“用户变量”,添加两个环境变量
变量名:MUJOCO_PY_MJPRO_PATH
变量值:C:\Users\xxx.mujoco\mjpro150
变量名:MUJOCO_PY_MJKEY_PATH
变量值:C:\Users\xxx.mujoco\mjpro150\bin\mjkey.txt
在自己电脑上的“设置>环境变量”中找到“用户变量”中的Path,双击,点击“新建”,将mjpro150文件中的bin文件夹的地址输入其中(例如:C:\Users\Bright.mujoco\mjpro150\bin),重启电脑
至此,mujoco应用程序算是安装成功了。安装成功后可以在bin文件夹中打开simulate.exe,并且将model文件夹中的XML文件夹拖拽到应用界面上则会出现对应模型的3D物理仿真模拟。
四、第四步 安装mujoco_py的python包
1.在github里下载mujoco_py,这里给出***mujoco_py***的下载链接
把这个下了
2.把下载的mujoco_py解压,把其中的mujoco_py文件夹复制,按个ctrl+C。
粘贴到自己的python虚拟环境python包的所在位置,按个ctrl+V。
五、第五步 测试和使用mujoco
测试,运行以下代码
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)
sim.step()
print(sim.data.qpos)
如果出现下图,则算是安装成功了。
配合OpenAI的gym库使用mujoco,输入以下代码
#开发者:Bright Fang
#开发时间:2022/5/8 12:33
import gym
# import mujoco
env = gym.make('Humanoid-v2')
env = env.unwrapped
for episode in range(20):
observation = env.reset() #环境重置
print(episode)
# for timestep in range(100):
while True:
# print(timestep)
env.render() #可视化
action = env.action_space.sample() #动作采样
observation_, reward, done, info = env.step(action) #单步交互
# if done:
# # print(observation)
# print('Episode {}'.format(episode))
# break
observation=observation_
env.close()
你就会以gym的框架得到Humanoid游戏环境,如下图:
想玩蚂蚁?用这个
import gym
# import mujoco
env = gym.make('Ant-v2')
env = env.unwrapped
for episode in range(20):
observation = env.reset() #环境重置
print(episode)
# for timestep in range(100):
while True:
# print(timestep)
env.render() #可视化
action = env.action_space.sample() #动作采样
observation_, reward, done, info = env.step(action) #单步交互
# if done:
# # print(observation)
# print('Episode {}'.format(episode))
# break
observation=observation_
env.close()
想玩其他?自己改
参考文献: