1、消息的定义
在 工作空间 功能包 文件夹目录下创建msg文件夹,进入到该目录使用touch message_name.msg命令创建消息文件。
2、在package.xml中添加功能包依赖
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
3、在CMakeLists.txt中相关配置
3.1添加功能包依赖
找到find_package()函数,在后面添加message_gerneration。
3.2指定消息文件
在Declare ros messages段落中添加将消息编译为通用标准的命令:
add_message_files(FILES Person.msg) #Person.msg为msg文件夹中的.msg文件
generate_messages(DEPENDENCIES std_msgs) #编译消息需要的依赖
3.3添加message运行的依赖
3.4编译
在工作空间下进行编译:catkin_make,生成相关文件。
注:若是使用python,则话题消息的创建则到此为止,不需要再进行后续操作。
4、在功能包的CMakeLists.txt文件中添加依赖
注意这两句:
add_dependencies(person_publisher ${PROJECT_NAME}_generate_messages_cpp)
add_dependencies(person_subscriber ${PROJECT_NAME}_generate_messages_cpp)