1 创建节点订阅话题
#include"ros/ros.h"
#include"std_msgs/String.h"
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,"");
// 初始化ros节点
ros::init(argc,argv,"GuiHua");
// 创建节点句柄
ros::NodeHandle nh;
// 创建订阅者对象
ros::Subscriber sub=nh.subscribe("fang",10,doMsg);
ros::spin();
return 0;
}
程序解读:
订阅节点话题,并用回调函数对该话题进行处理
ros::Subscriber sub=nh.subscribe("fang",10,doMsg);
回调函数的消息类型 std_msgs::String来自于fang的消息格式,ConstPtr &msg是一个常引用指针
void doMsg(const std_msgs::String::ConstPtr &msg)
ROS节点回调函数里::ConstPtr是什么和用法
链接: