这里写目录标题
一、前言
话题模型如下:
只不过本节所要发送的消息是一个我们自定义的类型,即下图的Person类型。而不是前面章节的Twist类型了。既然我们想发送自定义的类型,那么就需要我们进行一番操作了,本篇笔记就讲这个。
二、自定义话题消息
2.1 思路如下:
2.2具体实施
第一步:定义msg文件
在catkin_ws/src/learning_topic下建立msg文件夹,并建立Person.msg文件。
Person.msg中加入如下代码:
string name
uint8 sex
uint8 age
uint8 unknown = 0
uint8 male = 1
uint8 female = 2
第二步:在package.xml中添加功能包依赖:
第一个语句是编译依赖,第二个语句是运行依赖。
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
操作结果如下:
第三步:在CMakeLists.txt添加编译选项
首先在find_package()中加入message_generation功能包,
然后加入以下代码,其中第一个语句是说编译Person.msg,第二个语句Person.msg是说依赖于std_msgs
add_message_files(FILES Person.msg)
generate_messages(DEPENDENCIES std_msgs)
操作结果如下:
然后,在catkin_package()中加入message_runtime。操作结果如下:
第四步:编译
$ cd ~/catkin_ws
$ catkin_make
经过编译,我们会发现在以下路径中生成一个Person.h文件。
三、创建发布者代码
我们只需要把古月的person_publisher.cpp和person_subscriber.cpp复制