ros2话题的发布者和订阅者——ubuntu20.04+自定义话题接口类型

话题的发布者

  1. 导入消息类型,ros自带的消息类型在std_msgs/msg/下面,有string等类型
  2. 定义一个类,里面声明一个发布者话题的共享指针,指针标注发布的数据类型
  3. 在构造函数中使用create_publisher创建声明的这个发布者对象,也可以在声明时创建对象。
  • 声明一个发布者的类(发布者对象、发布数据的函数)
#include "rclcpp/rclcpp.hpp"
// 1. 导入消息类型
#include "std_msgs/msg/string.hpp"

// 定义一个有发布者的类,里面包含发布者对象
class publisher: public rclcpp::Node
{
   
   
private:
  // 2.声明一个发布者用于发布消息,这里只是定义,也可以在这里对其进行初始化,我这里在构造函数里面进行初始化
  // 发布者名称为pub_er,用共性指针声明对象,<std_msgs::msg::String>表示要发布的数据类型
  rclcpp::Publisher<std_msgs::msg::String>::SharedPtr pub_er; 
public:
  // 定义一个发布话题的函数,声明类对象调用该函数发布数据。
  publisher(std::string name);
  ~publisher();
  
  void publish_data();
};
publisher::publisher(std::string name):Node(name)
{
   
   
    //发布者的构造函数
  RCLCPP_INFO(this->get_logger(),"create publisher");

  // 3. 创造一个发布者
  // 使用create_publisher这个函数创建发布者对象,并声明一下他的发布的数据类型
  // 两个参数,一个是发布的话题名称,参数是队列长度,暂时填一个数字10
  pub_er = this->create_publisher<std_msgs::msg::String>("topic_name",10)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值