You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bazel构建的Drake与ROS2项目链接问题求助

将Bazel构建的Drake链接到ROS2项目的问题

硬件

运行Ubuntu 24.04的树莓派5,因为是arm64架构,所以需要自行构建Drake。

搭建过程

已成功构建Drake,步骤如下:

  • 通过bazelisk安装Bazel
  • 在.bazelrc文件中添加build --define NO_DREAL=ON和build --jobs=1
  • 从packages_noble.txt中移除libquadmath0
  • 执行bazel build //tools/install/libdrake:libdrake.so构建Drake

问题

现在没法在ROS2控制项目里正常使用它。查了外部Drake示例,但没找到匹配场景的(CMake示例里的Drake也是用CMake构建的,不是Bazel)。在CMake的ROS项目里用Drake,必须用CMake构建Drake吗?

已尝试的方法

  • 在ROS2包的CMakeLists.txt里加了这些配置:
    • set(drake_DIR /home/louis/drake/tools/install/libdrake)
    • set(drake_DIR /home/louis/drake/bazel-drake/tools/install/libdrake)
    • list(APPEND CMAKE_PREFIX_PATH /home/louis/drake/tools/install)
    • list(APPEND CMAKE_PREFIX_PATH /home/louis/drake/tools/install/libdrake/)
    • list(APPEND CMAKE_PREFIX_PATH /home/louis/drake)
    • find_package(drake REQUIRED)
    • target_link_libraries(my_ros2_package_name PUBLIC drake::drake)
  • 手动把drake/tools/install/libdrake里的drake-config.cmake.in后缀去掉,让colcon build能识别,确实成功识别了,但之后又出现lcm-config.cmake的类似错误。知道这不是正确方法,但还是说一下。BUILD.bazel里有drake_config_cmake_expand命令能把.cmake.in转成.cmake,但Bazel构建后没生成这个文件。

Bazel构建输出

INFO: Found 1 target...
Target //tools/install/libdrake:libdrake.so up-to-date:
  bazel-bin/tools/install/libdrake/libdrake.so
INFO: Elapsed time: 17295.341s, Critical Path: 156.09s
INFO: 8175 processes: 4062 internal, 4113 processwrapper-sandbox.
INFO: Build completed successfully, 8175 total actions

ROS2包执行colcon build时的错误信息

By not providing "Finddrake.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "drake", but
CMake did not find one.

Could not find a package configuration file provided by "drake" with any of
the following names:

  drakeConfig.cmake
  drake-config.cmake

Add the installation prefix of "drake" to CMAKE_PREFIX_PATH or set
"drake_DIR" to a directory containing one of the above files.  If "drake"
provides a separate development package or SDK, be sure it has been
installed.

参考资源

  • Stack Overflow相关问题
  • GitHub相关Issue
  • 使用drake_DIR的ROS2示例项目

内容的提问来源于stack exchange,提问作者louis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 17:03:20