ROS | C++和python实现发布结点和订阅结点

发布者结点:

代码实现:

python:

 C++:

 


 C++和Python发布结点的差异:

python:

 发布结点pub = 大管家rospy调用publisher函数发布话题  (话题,类型,话题长度)

 

C++:

先定义一个大管家:NodeHandle

然后大管家发布话题;

结点 = nh.advertise<节点类型>(话题名称,长度)

 


C++和Python初始结点的差异:

python:

大管家init_node(直接跟结点名)

 

C++:

ros::init(main函数的参数一致,结点的名字)

 


 C++和Python打印结点的差异:

Python:

 

 C++:


 C++和Python如何发布消息的差异: 

python:

定义发送消息的类型

定义你想传递消息的参数 (这里是std_msgs里面的string 类型的data 数据)

用前面你定义的发布者发布消息

C++:

定义一个你想传送的消息(类型是一个大类里面的一个小类)

定义你想传递消息的参数 (这里是std_msgs里面的string 类型的data 数据)

用前面你定义的发布者发布消息

 


 C++和Python while循环条件的差异:

python:

not 大管家.is_shutdown函数 

 

C++:

while(ros::ok())


 

订阅者结点:

实现代码:

python:

 

C++:


  C++和Python 订阅函数的差异:

Python:

订阅者 =rospy(大管家).Subscriber(话题名称,话题类型(小类),坑位长度,回调函数(最后))

 

C++:

定义大管家

定义订阅者 = 大管家nh.subscriber(话题名称,坑位长度,回调函数)

所以C++代码和python的差异就是没有msg的类型

 


 C++和Python 回调和输出函数的差异:

Python:

回调函数:函数参数就算消息的名称,没有消息的类型

输出函数:rospy (大管家).loginfo (msg.data/消息的某一个参数变量)

C++:

回调函数:参数要写明消息的具体类型,大类+小类都要写

输出函数:ROS_INFO(消息的某个参数变量)


 其他差别:

Python:

rospy.spin() #转个头看一眼

C++:

while(ros::ok())

{

ros::spinOnce();

}

setlocale(LC_ALL,"");//从默认locate读取参数 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# NetworkStream 流的详解与示例

文章目录 一、NetworkStream类的基本概念1.1 NetworkStream类概述1.2 NetworkStream类属性1.3 NetworkStream类方法 二、NetworkStream的连接方式三、NetworkStream的传输模式四、NetworkStream类示例服务器端代码&#xff1a;客户端代码&#xff1a; 五、总结 在C#中&#xff…

循环服务器TCP

服务器代码 /** * 文件名称&#xff1a;server.c* 创建者&#xff1a; mf* 创建日期&#xff1a;2024年05月20日* 描述&#xff1a;此程序实现了一个简易的TCP服务器&#xff0c;监听8888端口&#xff0c;接受客户端连接后&#xff0c;每隔一秒向客户端发送当前时间&#xff0…

VS Code添加高亮缩进功能

当代码缩进层次较多时&#xff0c;为了视觉上容易识别&#xff0c;一般希望可以多个缩进以不同颜色进行高亮显示&#xff0c; VS Code 中 indent-rainbow 插件可以实现这个功能。

蓝桥杯python组备赛指南

文章目录 前言刷题网站idle操作常用标准库mathdatetime 常见Q&A 前言 最近结束了比赛&#xff0c;我对比赛的过程进行了详细的复盘&#xff0c;并计划撰写一篇文章。这篇文章旨在为准备参加蓝桥杯的学弟学妹们提供帮助&#xff0c;我希望我的文章和笔记能对你们有所裨益。…

2024年150道高频Java面试题(七十二)

143. MyBatis 的工作原理是什么&#xff1f; MyBatis 是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它允许将对象与数据库中的记录相关联&#xff0c;同时保留对SQL语句的完全控制权。以下是MyBatis的工作原理&#xff1a; 配置SQL映射文件&#xff1a; …

TS中constructor使用public 、private 关键字

构造函数参数前的private关键字不是用于声明变量私有性的&#xff0c;而是与依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;相关。当你在构造函数参数中使用private关键字时&#xff0c;Angular会自动为你的组件或指令创建一个注入实例&#xff0c;并…

python列表生成式的魅力:轻松创建新列表

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 1. 列表生成式的基本结构 2. 列表生成式的进阶应用 3. 结合其他结构使用列表生成式 1. 列表…

HTML静态网页成品作业(HTML+CSS)——利物浦足球俱乐部介绍网页设计制作(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;共有5个页面。 二、作品演示 三、代码目录 四、网站代码 HTML部分代…

校园招新之获取进QQ群但未报名人员

校园的社团、实验室招新一般由是校领导会发一个QQ通知&#xff0c;让各个班的同学们进一个招新群。 群里面会有负责人提示大家报名&#xff0c;但是群成员不总是都会报名&#xff0c;我们需要的就是&#xff0c;找到那些&#xff0c;已经进群&#xff0c;但是没有报名的同学&am…

ELK 日志监控平台(一)- 快速搭建

文章目录 ELK 日志监控平台&#xff08;一&#xff09;- 快速搭建1.ELK 简介2.Elasticsearch安装部署3.Logstash安装部署4.Kibana安装部署5.日志收集DEMO5.1.创建SpringBoot应用依赖导入日志配置文件 logback.xml启动类目录结构启动项目 5.2.创建Logstash配置文件5.3.重新启动L…

当HR问你是否单身时,该怎么回答?

知识星球&#xff08;星球名&#xff1a;芯片制造与封测技术社区&#xff0c;星球号&#xff1a;63559049&#xff09;里的学员问&#xff1a;我是晶圆厂厂务工程师&#xff0c;最近在面试新工作&#xff0c;但是几乎每家HR都会问我同一个问题&#xff1a;你结婚没有&#xff1…

解密Spring Boot Starter与自动配置:探秘神奇的背后

starter可以理解为Spring Boot中的一站式集成启动器&#xff0c;包含了一系列可以集成到应用中的依赖项&#xff0c;可以快递集成spring组件及其框架&#xff0c;而不需要到处找示例代码。 一、为什么要用starter&#xff1f; 在springboot还没有出来之前&#xff0c;我们使用…

wps使用(解决毕业论文)

目录自动生成 页码自动生成 一部分使用I II III IV 格式&#xff0c;一部分使用1&#xff0c;2&#xff0c;3&#xff0c;4 格式 先设置全部文章为I II III IV 格式&#xff0c;然后再需要的地方再设置1&#xff0c;2&#xff0c;3&#xff0c;4 格式 一键设置中文、英文、数…

2024年全国大学生电工数学建模竞赛B题解析 | 数据处理 代码 论文分享

B 题&#xff1a;大学生平衡膳食食谱的优化设计及评价 1 数据预处理2 问题一2.1 问题1.12.1.1 评价体系的构建2.1.2 指标计算2.1.3 指标计算结果2.1.4 基于层次分析法的膳食营养评价模型2.1.5 评价模型的求解 2.2 问题1.22.2.1 食物与成分间拓扑关系的构建2.2.2 微调模型的建立…

【SpringBoot】整合百度文字识别

流程图 一、前期准备 1.1 打开百度智能云官网找到管理中心创建应用 全选文字识别 1.2 保存好AppId、API Key和Secret Key 1.3 找到通用场景文字识别&#xff0c;立即使用 1.4 根据自己需要&#xff0c;选择要开通的项目 二、代码编写 以通用文字识别&#xff08;高精度版&am…

C# PipStream流的详解与示例

文章目录 PipStream概述PipStream的创建方法PipStream的播放方法PipStream的暂停方法PipStream的删除方法示例代码总结 本文将详细介绍C#中的PipStream流&#xff0c;包括其概述、创建方法、播放方法、暂停方法以及删除方法。通过示例代码&#xff0c;帮助读者更好地理解和掌握…

蚁小二:又一款高效自媒体工具,免费用户可发5个账号

其实自媒体的群发工具有几个&#xff0c;除了前几天介绍的融媒宝还有蚁小二等。因为融媒宝免费用户只能添加5个账号&#xff0c;所以不够用的朋友可以再下载蚁小二使用&#xff0c;这样就有10个账号可以发布了&#xff1a; 蚁小二简介 蚁小二是由长沙草儿绽放科技有限公司自主…

mysql - 索引原理

mysql索引原理 文中的查询, 以该表结构为例 CREATE TABLE user (id int NOT NULL COMMENT id,name varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT 姓名,age int NOT NULL COMMENT 年龄,sex tinyint(1) NOT NULL COMMENT 性别,phone varchar(255) CHARACTER SET utf8mb4…

设计模式9——适配器模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 适配器模式&#xff08;Adapte…

酷开科技以内容为契机,酷开系统向消费者需求的深度挖掘迈进一步

酷开系统还拥有强大的内容资源和推荐算法&#xff0c;能够根据消费者的兴趣爱好为其提供个性化的推荐服务。无论是电影、电视剧、综艺节目&#xff0c;还是新闻、体育、娱乐资讯&#xff0c;酷开系统都能帮助大家快速找到感兴趣的内容&#xff0c;并且通过智能推荐算法不断优化…