C++发布ROS topic消息

C++发布ROS topic消息

1. 配置

  1. 添加msg消息类型头文件
    需要告诉编译器发送消息的数据类型,后面方便给模板实现

  2. 定义pub实例化对象,使用ros::publisher实现

  3. ros节点初始化

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

    argc:remapping参数的个数
    argv:remapping参数的列表
    name:节点名,必须是一个基本名称,不能包含命名空间

  4. 创建节点句柄 也就是实例化一个节点对象,方便调用节点内的方法

    ros::NodeHandle nh("~");
    

    注意这里的“~”是为了给话题名前加入一个以节点名命名的命名空间,可以自定义名称给到命名空间之中。比如ros::NodeHandle nh("my_namespace");

2. 初始化并发送

  1. 给实例化后的pub进行初始化
    pub = nh.advertise<include_msgs::msg_name>("topic_name", 1);
  2. 对消息内容赋值赋值
    一般这里最好使用自己定义的一个函数来完成,来进行对消息内容的赋值
    注意消息子类型为数组类型时,要自己定义数组的空间大小
  3. 使用pub.publish(msg)发布消息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值