ROS-发布者程序

本文详细介绍了ROS中创建发布者程序的步骤,包括声明消息类型、创建发布者对象、填充消息内容及控制发布频率。以geometry_msgs/Twist为例,讲解如何发布消息并控制消息发布速率,确保节点按需工作,避免资源浪费。同时阐述了cmake文件的修改,以正确处理消息类型依赖。
摘要由CSDN通过智能技术生成

以geometry_msgs/Twist为例说明。

一.发布消息

1.包含消息类型的声明

# include <package_name/type_name.h>

功能包名应该是定义消息类型的包的名称,不一定是自己的包的名称。如想发布一条类型为geometry_msgs/Twist的消息(名为geometry_msgs的包所拥有的类型为Twist的消息)

# include <geometry_msgs/Twist.h>

头文件的目的是定义一个C++类,此类和给定消息类型含有相同的数据类型成员。这个类定义在一包名命名的域名空间中。实际影响:当引用C++代码中的消息类时,将使用::来区分开包名和类型名,双分号也称范围解析运算符。j即头文件定义了一个名为geometry_msgs::Twist的类。

2.创建发布者对象

发布消息的实际工作由ros::Publisher的一个对象完成。

ros::Publisher pub = node_handle.advertise<message_type>(topic_name, queue_size);

node_handle是ros::NodeHandle类的一个对象,在程序运行处创建。

message_type正式名称为模板参数,发布消息的数据类型。头文件中定义的类名(geometry_msgs::Twist类)

topic_name字符串,包含发布的话题的名称(应该和rostopic/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值