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问答

相关推荐