ROS自定义消息类型

来源:

在ros系统中自定义消息类型,引入了std_msgs/Header header,编译时报Did you forget to specify generate_messages(DEPENDENCIES ...)? Cannot locate message [Header]: unknown package [std_msgs] on search path

1
2
3
// AiDetResult.msg
std_msgs/Header header
lidar_align_camera/AiBoundingBox[] ai_det_result

解决:

其实错误日志中原因很明显,没有添加对应依赖

  1. 需要在cmakelists中填入以下信息:

    1
    2
    3
    find_package(catkin REQUIRED COMPONENTS std_msgs)
    generate_messages(DEPENDENCIES std_msgs)
    catkin_package(CATKIN_DEPENDS std_msgs)
  2. 需要在package.xml中写入以下信息

    1
    2
    <build_depend>std_msgs</build_depend>
    <run_depend>std_msgs</run_depend>

参考链接

  1. std_msgs issue
  2. 自定义消息类型