*MAVROS应该是一直在不断地读取飞控内部的状态数据并自动以ROS话题的形式发布出来,它并不知道谁在订阅,哪个节点想订阅到自然能订阅到。(这也应该是为什么MAVROS有个消息黑名单)

本文主要是介绍*MAVROS应该是一直在不断地读取飞控内部的状态数据并自动以ROS话题的形式发布出来,它并不知道谁在订阅,哪个节点想订阅到自然能订阅到。(这也应该是为什么MAVROS有个消息黑名单),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我之前还有的一个疑问就是MAVROS怎么知道谁订阅了哪种MAVROS话题呢?我现在觉得啊,是这样啊,就是MAVROS一直在不断地读取飞控内部的状态数据并自动以ROS话题的形式发布出来,它并不知道谁在订阅,哪个节点想订阅到自然能订阅到。

也是受到下面这篇博文的启发,这篇博文我也有转载。

https://blog.csdn.net/SIR_wkp/article/details/87861658

 

 

我记得ROS这边是可以有个黑名单的,就是禁止哪些MAVROS话题的发布。是不是如果不禁止他们就都会发布。那这也再一次说明我的理解是对的。

可以见我这篇博文

https://blog.csdn.net/sinat_16643223/article/details/112636193

这是普罗米修斯里面的,不过我看着黑名单还包括板载计算机发给飞控的话题种类。

 

我还看到MAVROS自身就带了几个pluginlists.yaml,可以找找有没有什么关系。

 

 

启动MAVROS的launch文件里面写了加载这个px4_pluginlists.yaml文件。

https://blog.csdn.net/weixin_44917390/article/details/106427533

 

 

我们应该可以直接ros topic list 看一下这个所有的话题,里面mavros的有哪些。很多我怀疑就是mavros自动发布的,就算我没有订阅它也在发布。

 

看了下这篇文章,我觉得应该就是的,接收到一个Mavlink消息调用回调函数转为ROS消息发布。只要不在黑名单上的应该都会自动进行。这可能也是为什么他们要建立一个黑名单,不然消息就太多了,是吧,这样想想就合理了。之所以黑名单还有板载计算机发往飞控的消息,可能是为了避免什么消息都能发往飞控都能控制飞控,对不对。所以黑名单里面双向的消息都有。

这篇文章分析得非常细致。

https://blog.csdn.net/SIR_wkp/article/details/87861658

这篇关于*MAVROS应该是一直在不断地读取飞控内部的状态数据并自动以ROS话题的形式发布出来,它并不知道谁在订阅,哪个节点想订阅到自然能订阅到。(这也应该是为什么MAVROS有个消息黑名单)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/507163

相关文章

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T