首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Drake中使用OMPL

在Drake中使用OMPL
EN

Stack Overflow用户
提问于 2020-09-27 08:13:02
回答 1查看 130关注 0票数 0

我正试图在drake上使用ompl,但在drake中使用ompl头文件时遇到了问题。我使用默认安装路径安装了ompl,并在drake中进行了以下更改:

将以下内容添加到工作区:

代码语言:javascript
复制
new_local_repository(
    name = "ompl",
    path = "/usr/local/include/ompl-1.5/ompl",
    build_file = "ompl.BUILD",
)

ompl.BUILD:

代码语言:javascript
复制
cc_library(
    name = "ompl",
    hdrs = glob(["**"]),
    includes = ["include"],
    visibility = ["//visibility:public"], 
    linkstatic = 1,
)

在我的存储库的BUILD.bazel中:

代码语言:javascript
复制
drake_cc_binary(
    name = "ompl_ex",
    srcs = ["src/ompl_ex.cc"],
    data = [],
    test_rule_args = ["--target_realtime_rate=0.0"],
    deps = [
        "@gflags",
        "@ompl//:ompl",
    ],
)

ompl_ex.cc

代码语言:javascript
复制
#include <memory>

#include <limits.h>
#include <unistd.h>
#include <fstream>
#include <string>
#include <gflags/gflags.h>
#include <iostream>

#include <ompl/config.h>
#include <vector>

namespace drake {
namespace ompl {

int DoMain(){
    std::cout<<"the function is working"<<std::endl;
    return 0;
}

}  // namespace examples
}  // namespace drake

int main(int argc, char* argv[]) {
  gflags::ParseCommandLineFlags(&argc, &argv, true);
  return drake::ompl::DoMain();
}

我得到的错误是:

代码语言:javascript
复制
infinite_horizon_ltl/src/ompl_ex.cc:10:10: fatal error: ompl/config.h: No such file or directory
 #include <ompl/config.h>

我以类似的方式使用spot库,它们似乎工作得很好。在OMPL的情况下,我不确定我弄错了什么。我检查了drakes git问题,发现有人试图集成,但分支现在被删除了,并且提出的解决方案似乎在我的系统上不起作用。

EN

回答 1

Stack Overflow用户

发布于 2020-10-02 01:35:08

我发现在cmake项目中将drake作为外部库使用是最容易的。这在ompl中工作得很好。这里有一个快速示例,它同时导入drakeompl作为外部库,并解决了一个简单的规划问题。

https://github.com/DexaiRobotics/drake-torch/tree/master/examples/drake-ompl

输出和视频是使用dexai2/drake-torch/cpu-nightly-ros docker生成的,该docker可在以下位置获得:https://hub.docker.com/r/dexai2/drake-torch/tags

另外,根据您使用的Ubuntu版本,您可能需要更改您的gcc版本-例如,您需要在Ubuntu20.04的CMakeLists.txt中指定的gcc-9g++-9,以及18.04上的gcc-7g++-7。点击此处查看备注:https://drake.mit.edu/developers.html#id10

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

https://stackoverflow.com/questions/64083644

复制
相关文章

相似问题

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