5、订阅者

5.1、订阅者

订阅者,接收发布者发布的数据,然后进入其回调函数,在回调函数里边处理接收到的数据。其核心内容是回调函数,每个订阅者订阅的话题都有回调函数。

5.2 创建一个订阅者

5.2.1、创建步骤

1)、初始化ROS节点

2)、创建句柄

3)、订阅需要的话题

4)、循环等待话题消息,接收到消息后进入回调函数

5)、在回调函数中完成消息处理。

5.2.2、C++语言实现

1)、在“发布者”教程中,创建的功能包的src文件夹下,新建一个c++文件,命名为turtle_pose_subscriber.cpp

2)、把下边的程序代码复制粘贴到turtle_pose_subscriber.cpp文件中

3)、程序流程图,可对应5.2.1内容查看

sub_c++

4)、在CMakelist.txt中配置,build区域下,添加如下内容

5)、工作空间目录下编译代码

6)、运行程序

7)、运行截图

image-20220225102205852

8)、程序运行说明

/turtle1/pose

5.2.3、python语言实现

1)、在功能包目录下,新建以一个文件夹scripts,然后在scripts文件夹下新建一个python文件(文件后缀.py),命名为turtle_pose_subscriber.py

2)、把下边的程序代码复制粘贴到turtle_pose_subscriber.py文件中

3)、程序流程图

image-20220225103401539

4)、运行程序

5)、运行效果和程序说明参考5.2.2。