ros 发布信息频率_ROS学习--7.写一个发布与订阅节点

1.写一个publisher节点

“节点”是连接到ROS网络的可执行文件的ROS术语。在这里,我们将创建一个发布者(“ talker”)节点,该节点将不断广播消息。

1.1 将目录更改为在catkin工作区以前的教程中创建的beginner_tutorials包:

roscd beginner_tutorials

1.2 在beginner_tutorials包目录中创建一个src目录:

mkdir -p src

该目录将包含我们beginner_tutorials包的所有源文件。

1.3 在beginner_tutorials包中创建src / talker.cpp文件,并将以下内容粘贴到其中:

// ros/ros.h是一个方便的工具,其中包括使用ROS系统最常见的公共部分所需的所有标头。

#include "ros/ros.h"

// 这包括std_msgs / String消息,该消息驻留在std_msgs包中。

// 这是从该程序包中的String.msg文件自动生成的标头。有关消息定义的更多信息,请参见msg页面。

#include "std_msgs/String.h"

#include

/**

* 本教程演示了如何通过ROS系统简单地发送消息。

*/

// 这是下面事情的精简版:

// 初始化ROS系统

// 宣传我们将在chatter主题上向主服务器发布std_msgs / String消息

// 在将消息发布到聊天时每秒循环10次

int main(int argc, char** argv)

{

// 初始化ROS。这使ROS可以通过命令行进行名称重映射-目前尚不重要。

// 这也是我们指定节点名称的地方。节点名称在运行的系统中必须唯一。

ros::init(argc, argv, "talker");

// 创建此进程的节点的句柄。创建的第一个NodeHandle实际上将对节点进行初始化,

// 而最后一个被破坏的节点将清理该节点正在使用的所有资源。

ros::NodeHandle node_handle;

// 告诉管理员,我们将在主题讨论中发布std_msgs / String类型的消息。

// 这样,主服务器就可以告诉所有正在聊天的节点,我们将发布有关该主题的数据。

// 第二个参数是发布队列的大小。在这种情况下,如果我们发布得太快,

// 它将最多缓冲1000条消息,然后再开始丢弃旧消息。

// NodeHandle :: advertise()返回一个ros :: Publisher对象,

// 该对象有两个作用:

// 1)它包含一个publish()方法,可用于将消息发布到其创建的主题上;

// 2)当它超出范围时,它将自动取消广告。

ros::Publisher chatter_pub = node_handle.adv

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值