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

最新文章

  1. parsing XML document from class path resource
  2. Java SE ---类,方法,对象等
  3. bzoj 3676: [Apio2014]回文串 回文自动机
  4. [LeetCode] 21. Merge Two Sorted Lists 解题思路
  5. myeclipse 配置weblogic 异常
  6. HTTP SOAP Request
  7. 笨鸟先飞之ASP.NET MVC系列之过滤器(05结果过滤器)
  8. 快速安装Java环境
  9. DP问题
  10. UML教程
  11. 基于IOS上MDM技术相关资料整理及汇总
  12. php实现SSO单点登录实例
  13. 深入理解String类
  14. Hadoop生态圈-Azkaban实现hive脚本执行
  15. java.lang.AbstractStringBuilder.enlargeBuffer
  16. CodeForces1070A Find a Number 图论
  17. poj2185 Milking Grid【KMP】
  18. SecureCRT 常用配置
  19. idea下maven项目增加依赖项目里面没有添加相关依赖jar
  20. ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目

热门文章

  1. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!
  2. Java面试常见算法题
  3. Dubbo源码学习--服务发布(DubboProtocol、Exporter)
  4. [Android App]IFCTT,即:If Copy Then That,是一个基于IFTTT的"This"实现
  5. JDBC详解系列(二)之加载驱动
  6. Python 日期和时间操作
  7. Python开发工具PyCharm个性化设置
  8. 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总
  9. Oracle查看对象空间使用情况show_space
  10. [基础规范]JavaBeans规范