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

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.xdnf.cn/news/14192.html

相关文章:

  • aflplusplus:开源的模糊测试工具!全参数详细教程!Kali Linux教程!(三)
  • 开源统一数据库管理平台完全指南:私有化部署方案与技术解析
  • 解决Spark4.0.0依赖问题
  • http的缓存问题
  • pytorch 实战二 CNN手写数字识别
  • Spring MVC 中日期格式转换的两种实用方法
  • Hive 性能优化:从表设计到查询执行的全链路优化
  • rust的main.rs和lib.rs该怎么写
  • 【项目实训#07】HarmonyOS API知识图谱构建与系统知识图谱后端实现
  • 【Qt】QStateMachine状态机-对状态机分组、历史状态,实现复杂状态机
  • 玩转Docker | 使用Docker部署Blinko个人笔记工具
  • 如何在FastAPI中构建一个既安全又灵活的多层级权限系统?
  • 刚学到一个使用共享软件而禁用弹窗的工具:微软电脑管家
  • 如何给Hexo-butterfly主题博客在复制时添加版权声明
  • 【图片转 3D 模型】北大·字节跳动·CMU携手——单图15 秒生成结构化3D模型!
  • 创客匠人视角:从外卖大战看创始人IP的差异化定位逻辑
  • veyon(电子教室管理) v4.9.6.1 官方版
  • n8n 从 Docker 到 Node.js 本地环境迁移指南
  • Linux Docker的环境配置与简单使用
  • 《高并发系统性能优化三板斧:缓存 + 异步 + 限流》
  • Spring Boot 自动配置原理深度解析与自定义 Starter 实战
  • 【Unity】MiniGame编辑器小游戏(一)俄罗斯方块【Tetris】
  • [学习] 牛顿迭代法:从数学原理到实战
  • Nginx、CDN、 DNS的关系解析
  • ​​信息系统项目管理师-信息系统工程 知识点总结与例题分析​​
  • 单项链表的操作及其实现
  • 重定向与缓冲区:C语言IO的奥秘(模拟封装glibc)
  • 工业PID算法在温控器的应用与参数说明
  • 《单调队列》题集
  • list is not in GROUPBY clause and contains nonaggregated column ‘*.*‘