首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows上使用MuJoCo

如何在Windows上使用MuJoCo
EN

Stack Overflow用户
提问于 2021-10-18 20:41:20
回答 1查看 599关注 0票数 1

这是一个非常简单的问题,但我很难在网上找到答案。

DeepMind just made MuJoCo free,所以我决定在我的Windows电脑上使用download it进行测试。然而,当我安装的时候,我得到的只是一个文件夹。

我创建了一个不同的文件夹(不在下载的文件夹中),并将the tutorial中的hello.xmlhello.c文件复制粘贴到这个新文件夹中。但是,VSCode在hello.c内部给#include "mujoco.h"加了红色下划线,并带有警告cannot open source file "mujoco.h"

我假设我需要在我的路径中添加一些东西,或者以某种方式使我的编译器能够找到头文件。我该怎么做呢?

总的来说,我希望能够运行hello.c

(我看过许多不同的链接,如果需要的话,我可以在这里链接来证明我已经在其他地方研究过了,但大多数在线资源似乎要么是1.假设事情会正常工作/你有C和库导入的经验2.是针对Mac/Linux或3.是针对mujoco-python)

EN

回答 1

Stack Overflow用户

发布于 2021-10-30 00:26:46

TL;DR

  1. 创建空的可视化C++项目
  2. 复制代码
  3. 通过链接器目录添加Mujoco头文件VCC++包含目录(确保将平台设置为-> )
  4. 通过链接器->输入添加MuJoCo安装的库目录(“x64”目录),并添加库名称(glfw3.lib,mujoco200.lib... )。等)通过链接器将生成的installation

-> -> Additional ->->附加到MuJoCo链接器的bin目录中

创建项目

打开Visual Studio文件->新建->项目-> Visual C++ ->空项目

编写代码

stackoverflowMuJoCo ->源文件-> Add New Item -> C++ File (我称之为"main.cpp“,但这无关紧要)

将hello.c中的代码复制到main.cpp中

代码语言:javascript
复制
#include "mujoco.h"
#include "stdio.h"

char error[1000];
mjModel* m;
mjData* d;

int main(void)
{
   // activate MuJoCo
   mj_activate("mjkey.txt");

   // load model from file and check for errors
   m = mj_loadXML("../model/hello.xml", NULL, error, 1000);
   if( !m )
   {
      printf("%s\n", error);
      return 1;
   }

   // make data corresponding to model
   d = mj_makeData(m);

   // run simulation for 10 seconds
   while( d->time<10 )
      mj_step(m, d);

   // free model and data, deactivate
   mj_deleteData(d);
   mj_deleteModel(m);
   mj_deactivate();

   return 0;
}

*请注意,我在deepmind接管它之前就下载了它,所以我仍然需要使用mj_activate调用,但您可以忽略它。另外,我将路径更改为hello.xml,因为稍后我将把可执行文件复制到MuJoCo安装的bin目录中(见下文)。

添加头文件

项目目录包括Properties

  • Change installation "mujoco200_win64\mujoco200_win64\include"的包含目录(应该是这样的路径),然后将平台设置为x64*

  • -> Properties

  • Change VCC++ -> MuJoCo

*这确保您不必对每个配置重复整个过程。

VSCode在hello.c内部加上红色的#include "mujoco.h“下划线。

现在这个应该不存在了。

添加库

项目属性Properties

  • Configuration Input Dependencies

  • Enter Additional
  1. 右键单击位于MuJoCo

安装目录中的-> Input -> Additional .lib文件的名称

  1. 链接器->常规->附加库目录添加"mujoco200_win64\mujoco200_win64\bin“目录

编译现在应该成功,但执行可能会失败

执行和调试

在此阶段,执行可能会失败,并显示以下错误消息。

要解决此问题,只需将输出的可执行文件stackoverflowMuJoCo\x64\Release\stackOverflowMuJoCo.exe复制到MuJoCo安装的bin目录中即可。

这将确保它可以找到所需的dll。

如果您希望能够进行调试:手动将所有dll文件复制到"stackoverflowMuJoCo\x64\Debug“目录中。

警告

hello world示例中的代码是被动模拟,这意味着您在屏幕上看不到任何东西。

如果您想看到一些东西,请用以下代码替换:https://github.com/atabakd/MuJoCo-Tutorials/blob/master/src/0_preliminaries/pd.cpp并将invertedPendulum.xml添加到models目录中。

一些笔记

可能有一个更好/更简单的工作流程,但现在我只是试着让它工作。此外,我使用的MuJoCo版本与您的不同,但它的工作方式应该基本相同(除了激活的东西)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69622353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档