ROS总体框架

1.总体结构。主要分为三个级别:计算图级、文件系统级、社区级。

2.计算图级。计算图是ROS处理数据的一种点对点的网络形式。主要包括几个重要概念:节点(node)、消息(message)、主题(topic)、服务(service)。

(1)节点。节点就是一些直行运算任务的进程。ROS利用规模可增长的方式是代码模块化:一个系统就是典型的由很多节点组成的。

(2)消息。节点之间是通过传送消息进行通讯的。每一个消息都是一个严格的数据结构。

(3)主题。消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。

(4)服务。消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。

ROS Master 通过RPC(Remote Procedure Call Protocol,远程过程调用)提供了登记列表和对其他计算图表的查找。没有控制器,节点将无法找到其他节点,交换消息或调用服务。

比如控制节点订阅和发布消息的模型如下:

3.文件系统级

ROS文件系统级指的是在硬盘上面查看的ROS源代码的组织形式。

ROS中有无数的节点、消息、服务、工具和库文件,需要有效的结构去管理这些代码。在ROS的文件系统级,有以下几个重要概念:包(package)、堆(stack)。

(1)包。ROS的软件以包的方式组织起来。包包含节点、ROS依赖库、数据套、配置文件、第三方软件、或者任何其他逻辑构成。

(2)堆。堆是包的集合,它提供一个完整的功能,像“navigation stack”。Stack与版本号关联,同时也是如何发行ROS软件方式的关键。ROS是一种分布式处理框架。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到包(Packages)和堆(Stacks)中,以便于共享和分发。

4.设区级

ROS的社区级概念是ROS网络上进行代码发布的一种表现形式。结构如下图所示:

学习来自: 

ROS探索总结-2.ROS总体框架 - 创客智造ROS总体框架一、 总体结构根据ROS系统代码的维护者和分布来标示,主要有两大部分:(1)main:核心部分,主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分...icon-default.png?t=L892https://www.ncnynl.com/archives/201609/839.html 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐