ROS基础二:Publisher 和Subscriber
知识点回顾
创建工作空间:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws
$ catkin_make
$ echo “source /catkin_ws/devel/setup.bash” >> ~/.bashrc
创建功能包:
$ catkin_create_pkg first_pkg std_msgs roscpp rospy
$ cd ~/catkin_ws
$ catkin_make
内容 | 详读 | 细阅 | 浏览 | 必看 | 问题 | 必记 | 补充 |
---|---|---|---|---|---|---|---|
字体 | 黑色 | 蓝色 | 橙色 | 红色 | 棕色 | 绿色 | 紫色 |
1. 话题中的Publisher 与Subscriber
Publisher(发布者)和Subscriber(订阅者)是ROS系统中最基本、最常用的通信方式。Publisher 的主要作用是针对指定话题发布特定数据类型的消息,而Subscriber 是用来订阅(接收)Publisher 发布来的消息。
1.1 Publisher 发布者
gedit 或vim 或使用RoboWare 创建first_pkg/src/talker.cpp:
#include <sstream> //C语言头文件
#include "ros/ros.h" //ROS头文件
#include "std_msgs/String.h" //字符String类型消息文件
int main(int argc, char **argv)
{
//ROS节点初始化,初始化外部argc,argv参数和本程序
ros::init(argc, argv, "talker");
//创建节点句柄,便于节点管理器ROS Master管理
ros::NodeHandle n;
//创建一个Publisher,发布名为chatter的话题,消息类型为std_msgs::String
//消息发布队列为1000,即最大存留消息数。
ros: