#include "ros/ros.h"
#include "std_msgs/String.h"
#include <sstream>
int main(int argc, char **argv) /*别管为什么,就这样用*/
{
ros::init(argc, argv, "talker"); /*初始化,talker节点名称,名字唯一*/
ros::NodeHandle n; /*启用一个roscpp节点n*/
ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
/*告诉master将在话题名为chatter上发布std_msgs/String消息,
1000是发布序列的大小,缓冲区只存储1000个*/
ros::Rate loop_rate(10); /*10Hz频率运行,每秒十次*/
int count = 0;
while (ros::ok()) /*ros::ok()检查节点是否运行*/
{
std_msgs::String msg;
std::stringstream ss; /*创建一个ss流*/
ss << "hello world " << count; /*向流中导入数据"Hello world" count*/
msg.data = ss.str(); /*ss中的值转换成字符串赋值给msg.data*/
ROS_INFO("%s", msg.data.c_str()); /*INFO类型消息保存到/rosout日志*/
chatter_pub.publish(msg);
ros::spinOnce();
loop_rate.sleep();
++count;
}
return 0;
}
源码分析(C++)ROS Wiki编写简单的消息发布器
最新推荐文章于 2024-10-29 21:32:04 发布