ROS初探:ROS架构

Posted dkit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS初探:ROS架构相关的知识,希望对你有一定的参考价值。

一.ROS架构

ROS架构上分为三个层级:


  • 计算图级(Computation Graph level):体现进程与系统的关系,描述系统怎么运行。

  • 文件系统级(Filesystem level):组织构建程序文件。

  • 社区级(Community level):开源社区,共享知识、算法和代码等。


1.1 计算图级


计算图级包含:节点、节点管理器、参数服务器、消息、服务、主题和消息记录包。

  • 节点(node):主要的计算执行进程,可自行创建节点,加入网络。

  • 节点管理器(master):是节点通信的基础,用于节点的注册、查找。

  • 参数服务器(parameter server):属于节点管理器的一部分,将数据存放在系统关键位置,节点可以获取这些数据来配置、改变自己的状态。

  • 消息(message):具有各种类型,节点间沟通传输的信息数据。

  • 主题(topic):一类消息的集合,节点可以发布、订阅主题。发布者和订阅者之间相互解耦,不知对方的存在。

  • 服务(service):区别于主题,服务用于节点直接向节点交互,获得请求或应答。

  • 消息记录包(bag):保存回放消息数据的文件格式。


  ROS创建一个网络(Computation Network)来进行计算,该网络连接了系统中的所有进程(节点),如下图所示:

技术分享图片

1.2 文件系统级


技术分享图片

  功能包(package):一种特定结构的文件、文件夹的组合。ROS中各种软件的组织方式,包含节点、配置文件、ROS依赖库、第三方软件及其它任何逻辑构成。

  元功能包(Metapackage):只有一个文件(package.xml)的特殊包,将多个具有某些功能的包组织在一起形成逻辑包。

1.3 社区级


开源社区级,通过独立的网络社区分享软件、知识,包含如下几部分:

  • 发行版:可独立安装、类似于Linux。

  • 软件库:联网的代码存储库,不同机构可以发布。

  • ROS Wiki:论坛,可贡献自己的文件。

  • Bug提交系统

  • 邮件列表:交流软件更新等各种问题。

  • 博客:发布一些定期更新、新闻。

  • ROS问答































以上是关于ROS初探:ROS架构的主要内容,如果未能解决你的问题,请参考以下文章

ROS从入门到精通 ROS核心架构常用指令与计算图

ROS从入门到精通系列ROS系统整体架构详解(下)

ROS从入门到精通系列ROS系统整体架构详解(下)

ROS从入门到精通系列ROS系统整体架构详解(上)

ROS从入门到精通系列ROS系统整体架构详解(上)

ROS架构设计及其基础概念