• win10安装Mujoco150和mujocopy 1.50.1.0


    win10似乎不太支持mujoco210+,但是如果直接命令行 pip install mujoco-py 就会安装上适配于mujoco210的mujoco-py,所以还是要手动装

    参考链接:https://zhuanlan.zhihu.com/p/383655571

    1.下载安装mujoco150

    链接:https://www.roboti.us/index.html

    下载mjpro150 win64,因为mujoco已经不支持Windows下的2.0版本,GitHub说明:

    解压放这

    获取密钥,不过现在已经开源了

    获取密钥,在MuJoCo (roboti.us)填写信息获取密钥,因为我是学生,所以就以学生来做演示

    在上图填写信息,邮箱用学生邮箱,底下只用勾选student,然后大致过了3天左右会收到邮件(有可能被邮箱识别为垃圾邮件),邮件如下

    中间给了一串数字字母的组合,然后回到mujoco的网站

    在上图中第一栏填写邮件中的那串数字,下面一栏填写你的computer id,不知道的话旁边提供了工具下载,点击旁边的win64下载后运行就自动显示你的computer id,填好提交后会收到密钥(包含了一个mjkey.txt文件)

    将邮件中的mjkey.txt文件放入C:\Users\xxx\.mujoco文件夹以及C:\Users\xxx\.mujoco\mjpro150\bin文件夹中,运行下面代码可以测试一下

    cd C:\Users\xxx\.mujoco\mjpro150\bin
    simulate.exe ../model/humanoid.xml

     也可以运行 simulate 以后把 model 里的文件再拖进去

    安装成功就可以显示

    2.配环境变量

    新建两个环境变量名

    变量名:MUJOCO_PY_MJPRO_PATH
    变量值:C:\Users\xxx\.mujoco\mjpro150
    
    变量名:MUJOCO_PY_MJKEY_PATH
    变量值:C:\Users\xxx\.mujoco\mjpro150\bin\mjkey.txt

    添加好后如下图所示

    然后在系统变量里的Path添加如下路径:

     3.安装 mujoco_py

    链接:https://github.com/openai/mujoco-py/releases

     https://github.com/openai/mujoco-py#install-mujoco 的右侧release可以跳转到上面的链接

     

     我下载安装在这,还改了名

    在 C:\Users\xxx\.mujoco\mujoco-py 目录下运行以下命令即可安装成功

    pip install -r requirements.txt
    pip install -r requirements.dev.txt
    python setup.py install

     但是我也是能在这个 C:\Users\xxx\.mujoco\mujoco-py 下成功导入 import mujoco_py,别的目录就不行

    考虑到可能是环境变量的问题,再添加环境变量 C:\Users\xxx\.mujoco\mujoco-py\mujoco_py 似乎就成功了

    参考别的博客,可能也可以成功

    添加到系统变量的Path中后任然没有解决,后面试了很多办法解决了,解决方法如下:

    a. 复制C:\Users\LENOVO-PC\.mujoco下的mujoco-py文件

    b. 进入anaconda中自己建立的python虚拟环境中的包目录,我的目录为:D:\Users\LENOVO-PC\anaconda3\envs\RL_TF_CPU\Lib\site-packages

    c. 在包目录中找到mujoco-py的文件夹,删除此文件夹

    d. 粘贴新的mujoco-py文件夹(刚刚复制的那个)

    然后就可以在任意目录下正常运行mujoco了~

    4.成功运行

    测试代码

    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]

  • 相关阅读:
    cvBox2D和RotatedRect中返回的角度angle详解
    opencv源码阅读之——iOS的两条接口UIImageToMat()和MatToUIImage()
    3、设置jsp上的类容自动更新
    2、搭建一个简单的Web项目
    1、IDEA的常用快捷键
    2、jQuery的Ajax简单示例
    1、jQuery的使用入门
    13、Ajax的使用
    JSP和后台交互时的乱码问题
    12、Filter(拦截器)
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/15978703.html
Copyright © 2020-2023  润新知