ROS创建发布者和订阅者C++
环境:
ubuntu18.04 虚拟机 ROS Melodic
ROS Kinetic 与 Melodic 这些API一致
基本概念:
话题(topic)也可译为“主题”
发布者在一个话题上发布消息
订阅者订阅一个话题并取出里面的消息
话题是一个字符串形式的名字,消息是一种数据结构里面填充了特定的内容
C++
(1)发布者:
cpp文件(文件名study_pub.cpp):
#include "ros/ros.h" //该头文件必须包含
#include "std_msgs/String.h" //ros标准消息里面的字符串消息
#include <sstream>
/**
* 在一个话题上发布一个简单的字符串消息
*/
int main(int argc, char *argv[])
{
/**
* ros::init()初始化节点函数需要使用argc和argv,不能缺少这两个参数,与话题重映射等有关的
*/
ros::init(argc, argv, "study"); //节点名为study,随便取
/**
*NodeHandle是与ROS系统通信的主要访问点(句柄),有了它节点就可以“说话了”(在话题上发布消息)
* 构造的第一个NodeHandle将完全初始化该节点,最后一个被析构的NodeHandle将关闭该节点。
*/
ros::Node