通过rostopic list
可以查看发布的话题,可以看到有/tag_detections和/tf话题,那麽我们先编写订阅/tag_detections,然后根据此模板订阅成/tf
1,首先原始话题是订阅/tag_detections
通过rostopic info /tag_detections
查看话题的发布者和类型如下:
2,已知话题的发布者和类型,这时候我们编写订阅节点
2.1,首先我们看到这里的类型后,我们要找到这个类型在msg文件/srv文件下,从而进行头文件定义,这里我们看到很明显的在msg文件下的AprilTagDetectionArray.msg文件下,msg消息和srv服务文件编译后都会变成程序的头文件,所以这里写成,来引入此话题类型
#include "apriltags2_ros/AprilTagDetectionArray.h"
2.2 编写订阅话题的类Localizer
这里的编写,我是根据之前看到话题一种类的格式来修改的,当然我们可以用官网上那种把所有部分都写在main函数的形式,但是那样不便于后来程序阅读和拓展,所以我选择这种形式,现在我们分析下下面的具体实现
对象声明:
ros::Subscriber ar_sub_;这句话定义了一个话题订阅对象ar_sub_
apriltags2_r