一、订阅话题过程概览
订阅话题和发布话题大体思路都一样
1.创建订阅者程序
2.编译
3.配置环境变量
4.执行订阅话题文件
二、具体过程
2.1 创建订阅者程序
在相应的工作空间的Src下创建.cpp或.py文件
文件至少由四部分组成
1.初始化ROS节点
2.订阅需要的话题,注册回调函数(订阅话题就像响应中断,你也不知道你订阅的话题什么时候会来,因此需要像响应终端一样,在话题没来的时候一直等待,在话题来了之后就马上调用回调函数响应,因此回调函数尽可能写的短一点。主要是打印消息或者对消息做简单的处理)
3.循环等待话题消息,一旦接受到消息后就进入回调函数
4.在回调函数中完成消息的处理
此时需注意,回调函数不能太复杂,不然在程序运行的时候就光运行你的函数了,等到下一次话题消息再来也不响应。
2.2 编译
如果是.cpp文件就需要编译,如果是.py文件就不需要,具体编译过程可见ROS学习2 发布话题(ROS 学习2- 发布话题_m0_46093829的博客-CSDN博客)
1.设置编译规则
2.在工作空间中catkin_make
三、 配置环境变量
source devel/setup.bash
四、执行订阅话题文件
rosrun 文件夹名 话题名