跳转至

自定义msg

1. 自定义msg

1.1 创建package

catkin_create_pkg my_msgs roscpp rospy std_msgs

1.2 定义msg文件

my_msgs下创建msg文件夹,msg文件夹中创建Num.msg文件,内容如下:

int64 num

1.3 编辑package.xml文件

增加如下内容:

<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

1.4 编辑CMakeLists.txt文件

添加message_generation依赖到find_package中

find_package(catkin REQUIRED COMPONENTS
   roscpp
   rospy
   std_msgs
   message_generation
)

导出消息依赖

catkin_package(
        #  INCLUDE_DIRS include
        #  LIBRARIES my_msgs
        CATKIN_DEPENDS roscpp rospy std_msgs
        #  DEPENDS system_lib
)

添加消息文件

add_message_files(
  FILES
  Num.msg
)

生成消息

generate_messages(
  DEPENDENCIES
  std_msgs
)

2. 使用自定义msg

2.1 创建package

catkin_create_pkg use_msg roscpp rospy std_msgs

2.2 编辑package.xml文件

增加如下内容:

<build_export_depend>my_msgs</build_export_depend>
<exec_depend>my_msgs</exec_depend>

2.3 编辑CMakeLists.txt文件

find_package(catkin REQUIRED COMPONENTS
        roscpp
        rospy
        std_msgs
        my_msgs
        )