ROS的重要概念:节点、消息、主题、服务

 


节点(Node)

节点:可认为是执行运算任务的进程或是正在执行的C++文件(需要编译catkin_make)、python文件(不需要编译)

消息(Message)

消息:节点之间传输的消息,建立联系。
每一个消息都是一种严格的数据结构,支持标准数据类型(整型、浮点型、布尔型等),也支持嵌套结构和数组(类似于C语言的结构体struct),还可以根据需求由开发者自主定义。

话题(Topic)

话题:ROS中节点之间传输消息最常见的方式,以发布/订阅(Publish/Subscribe)的方式传递。
特点:多对多,异步通信。
比喻:QQ群,每个用户都可以在这个群里发布和订阅消息,而不会发给其他群。不在群里的用户接收不到消息。

服务(Service)

服务:ROS中节点之间传输消息的方式,以客户端/服务器(Client/Server)的方式传递。
特点:一对一,同步通信。
比喻:QQ里A与B个人聊天,这种个人聊天框似与服务模型,是一对一,或者是服务器和客户端之间也类似于服务模型

节点管理器(ROS Master)

节点管理器:管理节点与节点之间的连接,ROS1中才有。
ROSMaster通过远程过程调用(RPC)提供登记列表和对其他计算图表的查找功能,帮助ROS节点之间相互查找、建立连接,同时还为系统提供参数服务器,管理全局参数。


总结为一句话就是:ROS中最小的进程单元就是节点(node),节点之间通过主题(topic)传递消息数据(message)。


参考文献:【1】ROS机器人开发实践_胡春旭
【2】https://zhuanlan.zhihu.com/p/173430043?utm_source=wechat_session

posted on   OPBrother  阅读(587)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示