当前位置: 首页 > news >正文

2.2 订阅话题

进入src创建包

 cd catkin_ws/src/
catkin_create_pkg atr_pkg rospy roscpp std_msgs

键入代码

#include<ros/ros.h>
#include<std_msgs/String.h>
void chao_callback(std_msgs::String msg)
{printf(msg.data.c_str());printf("\n");
}int main(int argc, char *argv[])
{ros::init(argc,argv,"ma_node");ros::NodeHandle nh;//注意,最后的参数是回调函数ros::Subscriber sub = nh.subscribe("cluster",10,chao_callback);while(ros::ok()){//执行多任务的时候时不时瞅一眼ros::spinOnce();}return 0;
}

最后的参数chao_callback是回调函数

ros::Subscriber sub = nh.subscribe("cluster",10,chao_callback);

CMakelists.txt末尾加入代码

add_executable(ma_node src/ma_node.cpp)target_link_libraries(ma_node${catkin_LIBRARIES}
)

依次启动ros,chao_node,ma_node

程序优化,增加时间戳

#include<ros/ros.h>
#include<std_msgs/String.h>
void chao_callback(std_msgs::String msg)
{ROS_INFO(msg.data.c_str());
}int main(int argc, char *argv[])
{setlocale(LC_ALL,"");//zh_CN.UTF-8ros::init(argc,argv,"ma_node");ros::NodeHandle nh;//注意,最后的参数是回调函数ros::Subscriber sub = nh.subscribe("cluster",10,chao_callback);while(ros::ok()){//执行多任务的时候时不时瞅一眼ros::spinOnce();}return 0;
}

  订阅两个话题

#include<ros/ros.h>
#include<std_msgs/String.h>
void chao_callback(std_msgs::String msg)
{ROS_INFO(msg.data.c_str());
}void yao_callback(std_msgs::String msg)
{ROS_WARN(msg.data.c_str());
}int main(int argc, char *argv[])
{setlocale(LC_ALL,"");//zh_CN.UTF-8ros::init(argc,argv,"ma_node");ros::NodeHandle nh;//注意,最后的参数是回调函数ros::Subscriber sub = nh.subscribe("chao",10,chao_callback);ros::Subscriber sub_2 = nh.subscribe("gie_gie",10,yao_callback);while(ros::ok()){//执行多任务的时候时不时瞅一眼ros::spinOnce();}return 0;
}

再开一个重端,进行通讯可视化

rqt_graph

PS:发布与接收的话题 得一致,在本博客中改了几次

http://www.dtcms.com/a/250001.html

相关文章:

  • 在Ubuntu linux终端写文件的方法
  • DataWhale-零基础网络爬虫技术(一)
  • 互联网大厂Java求职面试:云原生架构与微服务设计中的复杂挑战
  • sql列中数据通过逗号分割的集合,对其中的值进行全表查重
  • Unity 对象层级处理小结
  • 关于allegro 导入网表报错:Unable to find pin name in问题的解决
  • Java 复习题选择题(1)(Java概述)
  • 三维重建 —— 5. 双目立体视觉
  • 多线程与多进程技术全景对比
  • Docker 部署 RomM 指南:打造私有戏库与即点即玩系统
  • 基于“数智立体化三维架构”框架的医疗数智化机制研究
  • 2025.06.11-华子第三题-300分
  • QEMU源码全解析 —— 块设备虚拟化(30)
  • 华硕笔记本怎么装win11系统_华硕笔记本装win11专业版图文教程
  • 如何在 Elementary OS 上安装最新版本的 VirtualBox
  • YOLOv3 训练与推理流程详解-结合真实的数据样例进行模拟
  • Vue3 + TypeScript 父组件点击按钮触发子组件事件方法
  • RK AndroidFramework 内置应用可,卸载,恢复出厂设置恢复安装
  • 项目拓展-Apache对象池,对象池思想结合ThreadLocal复用日志对象
  • HEAD ` 只返回响应头(Headers),不返回正文内容(Body)
  • 融智学教育观及其数学公式体系凝练汇总
  • 11_13小结
  • 芯片测试之trim详解
  • AI首次自主发现人工生命
  • 用Python写一个可视化大屏
  • Kubernetes 部署 Kafka 集群:容器化与高可用方案(二)
  • Transformer实战——从词袋模型到Transformer:NLP技术演进
  • 浏览器指纹-探究前端如何识别用户设备
  • 【硬件】相机的硬件测试
  • python使用milvus教程