2.1话题发布

在chao_node.cpp新增加代码

cpp 复制代码
   //NodeHandle 类似于管家
    ros::NodeHandle nh;
    //发送信息的对象
    ros::Publisher pub = nh.advertise<std_msgs::String>("快上车开黑群",10);
cpp 复制代码
        std_msgs::String msg;
        msg.data = "国服马超,带飞!*U*";
        pub.publish(msg);

全体代码

cpp 复制代码
#include <ros/ros.h>
#include<std_msgs/String.h>

int main(int argc, char *argv[])
{
    ros::init(argc,argv,"chao_node");
    printf("苔花如米小,也学牡丹开。\n");

    //NodeHandle 类似于管家
    ros::NodeHandle nh;
    //发送信息的对象,话题名称不能是中文
    ros::Publisher pub = nh.advertise<std_msgs::String>("cluster",10);


    while(ros::ok())
    {

        printf("我要刷屏了!^U^\n");
        //生成消息包
        std_msgs::String msg;
        msg.data = "国服马超,带飞!*U*";
        pub.publish(msg);
    }
    return 0;
}

使用终端工具检测活跃话题

cpp 复制代码
rostopic list

查看话题里的消息内容

cpp 复制代码
rostopic echo /cluster

由于编码问题导致中文不能直接显示,另启终端执行命令,后面编码就上上图的编码

cpp 复制代码
echo -e "\u56FD\u670D\u9A6C\u8D85\uFF0C\u5E26\u98DE\uFF01*U*"

查看话题消息发布频率

cpp 复制代码
rostopic hz /cluster 

新建频率控制对象,这里是控制话题每秒发送10个消息

cpp 复制代码
ros::Rate loop_rate(10);

消息稳定在每秒10次

全部代码

cpp 复制代码
#include <ros/ros.h>
#include<std_msgs/String.h>

int main(int argc, char *argv[])
{
    ros::init(argc,argv,"chao_node");
    printf("苔花如米小,也学牡丹开。\n");

    //NodeHandle 类似于管家
    ros::NodeHandle nh;
    //发送信息的对象,话题名称不能是中文
    ros::Publisher pub = nh.advertise<std_msgs::String>("cluster",10);
    //频率控制对象,这里是控制话题每秒发送10个消息
    ros::Rate loop_rate(10);

    while(ros::ok())
    {

        printf("我要刷屏了!^U^\n");
        //生成消息包
        std_msgs::String msg;
        msg.data = "国服马超,带飞!*U*";
        pub.publish(msg);
        loop_rate.sleep();
    }
    return 0;
}
相关推荐
Johny_Zhao20 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux
木心月转码ing4 天前
WSL+Cpp开发环境配置
linux
崔小汤呀5 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端