用C++编写简单的ROS发布与订阅程序
首先进入目录~/catkin_ws/src/beginner_tutorials/src 即工程的源码目录。
创建文件 talker.cpp 为发布话题的程序。
talker.cpp:
#include "ros/ros.h"
#include "std_msgs/String.h"
#include <sstream>
/**
*Sending message over the ROS system
*/
int main(int argc, char **argv)
{
/**
* must call one of version of ros::init()
*/
ros::init(argc,argv,"talker");
/**
* using NodeHandle to communicate with the ROS system
*/
ros::NodeHandle n;
/*
* use advertise() to tell ROS the topic name published
* invoke a registy(master node) system to tell who is publishing and
* who is subscribing
* the master node will create a p2p connect between the topic and the
* node who want to subscribe
*/
ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter",1000);
ros::Rate loop_rate(10);
int count =0;
while(ros::ok())
{
std_msgs::String msg;
std::stringstream ss;
ss<<"Hello World"<< count;
msg.data=ss.str();
ROS_INFO("%s",msg.data.c_str());
chatter_pub.publish(msg);
ros::spinOnce();
loop_rate.sleep();
&#