#include "ros/ros.h"
#include "std_msgs/String.h"
/*
订阅方实现:
1.包含头文件;
ROS 中文本类型 ---> std_msgs/String.h
2.初始化 ROS 节点;
3.创建节点句柄;
4.创建订阅者对象;
5.处理订阅到的数据;
6.spin()函数
*/
//5.处理订阅到的数据;
void doMsg(const std_msgs :: String :: ConstPtr &msg){
// 通过 msg 获取并操作订阅到的数据
ROS_INFO("翠花订阅的数据:%s", msg->data.c_str());
}
int main(int argc, char *argv[])
{
// 解决中文乱码
setlocale(LC_ALL,"");
//2.初始化 ROS 节点; 注意节点名称具有唯一性
ros :: init(argc, argv,"cuiHua");
//3.创建节点句柄;
ros :: NodeHandle nh;
//4.创建订阅者对象; 范型类型可以不写,会自动推导
ros :: Subscriber sub = nh.subscribe("fang", 10,doMsg);
//6.spin()函数 如果没有spin函数,可能订阅不到消息
ros :: spin();
return 0;
}
ROS话题通讯(发布订阅模式)订阅方框架 C++
最新推荐文章于 2024-05-31 17:49:45 发布